自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大数据之路

Flink Spark Hive Hadoop Ranger Kafka Hbase

  • 博客(52)
  • 收藏
  • 关注

原创 二十四、Flink进阶--Flink sql转换为JobGraph过程

1.转换图1.sql解析得到sqlNode Tree2.validator去FunctionCatalog验证udf相关,去CatalogManager验证database相关3.验证通过会得到一个operation dag4.opreation dag 转换为 relnode dag5.优化器去优化relnode,大部分规则 batch和stream是共享的6.优化后会的到exec...

2019-11-28 11:43:06 1609

原创 hive源码编译

hive 源码编译mvn clean package -Pdist -DskipTests编译完成后,打包后的 .tar.gz 文件在 packaging/target 下

2019-11-05 17:18:32 446

转载 spark、hadoop大数据计算面试题汇总

地址:https://developer.aliyun.com/ask/256456?utm_content=g_1000084791

2019-11-01 19:46:56 883

原创 spark streaming任务,读kafka写入mysql

1.背景spark streaming direct方式读取kafka消息,设置checkpoint 并写入mysql2.发送数据到kafkapackage com.bigdata.kafka;import java.util.Properties;import java.util.concurrent.TimeUnit;import org.apache.kafka.clients...

2019-10-28 18:11:38 2054 2

原创 Spark源码环境问题

异常1点击idea–build–build project,或者打开源码显示导入异常。但是maven包都是下载好了的Error:(45, 66) not found: type SparkFlumeProtocol val transactionTimeout: Int, val backOffInterval: Int) extends SparkFlumeProtocol with L...

2019-09-06 11:38:19 368

原创 NodeManager 下线

hadoop nodemanager如何安全的下线,不影响线上数据,在这里记录一下备忘。1.配置在yarn-site.xml文件中增加以下配置,avtive和standby ResourceManager都需要添加。<property> <name>yarn.resourcemanager.nodes.exclude-path</name> ...

2019-08-15 11:08:17 1273

原创 HBase平滑重启-不影响业务

hbase 在不影响业务的情况下,如何安全平滑的升级参数并重启呢滚动重启regionserver./graceful_stop.sh --restart --reload --debug --maxthreads 10 {regionserverhost}滚动重启master主master:./hbase-daemon.sh stop master./hbase-daemon.sh...

2019-07-16 16:56:28 1787

原创 HBase跨集群迁移

背景:假设有hbase1和hbase2两个集群,现在需要将hbase1的表迁移到hbase2,而且不能停止服务的运行。准备工作开启hbase.replication功能设置hbase-site.xml中hbase.replication为true开启待复制集群的Yarn计算,后续拷贝数据基于MR开始迁移1.hbase2集群建表(click-count’在hbase1是已经存在的...

2019-07-09 23:37:01 1699 1

原创 HBase Snapshot 迁移: snapshot.ExportSnapshot: Snapshot export failed

测试HBase数据迁移时出现MR OOM问题,在这里记录一下解决方法,以防忘记异常信息./hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -snapshot click-count-snp -copy-to hdfs://172.16.201.42:8020/hbase -mappers 10 -bandwidth 20201...

2019-07-09 19:25:15 2252

原创 Hadoop集群写数据异常--timeout while waiting for channel to be ready for write

今天kylin写数据到HBase到HDFS是报错:timeout while waiting for channel to be ready for write具体异常如下:2019-07-05 11:18:10,862 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: DatanodeRegistration(192.168.146...

2019-07-05 15:36:31 2316

原创 大数据面试--腾讯电话面试

1.自我介绍2.在简历中挑2个自己任务有代表性的项目做介绍,架构介绍,自己承担的职责,遇到的挑战,有哪些困难。3.Hive on spark和 Impala对比,调研时后详细的数据对比,为什么选择了Hive on spark4.Hive on spark遇到哪些问题和挑战5.Calsite的原理,抽象语法树的解析和生产总结:最后面试官说和招聘需求不符合,就结束了,第一次腾讯面试就凉了,还...

2019-06-29 23:18:35 2776 2

原创 Hadoop DataNode 下线操作

hadoop datanode如何安全的下线,不影响线上数据,在这里记录一下备忘。前提在namenode机器的hdfs-site.xml中必须包含以下配置,在standby namode同样加上: <property> <name>dfs.hosts.exclude</name> <value>${hadoop_h...

2019-06-26 14:22:36 3028

原创 Apache HBASE 下线RegionServer

前言假如hbase机器出现问题,需要对hbase的regionserver进行下线,如何平滑下线且不影响服务正常运行下线步骤cat ${HBASE_HOME}/conf/regionserver文件 找到要下线的regionserver host cd ${HBASE_HOME}/bin./graceful_stop.sh ${hostname}会逐渐将region迁移到其他reg...

2019-06-25 19:37:07 1149

原创 Apache Kylin清理无用的HBASE Table

前言由于kylin在每次构建cube后都会生成新的hbase table , 所以运行一段时间后,hbase region数量会上涨厉害,所以需要定时对kylin的hbase 数据进行清理清理步骤cd ${KYLIN_HOME}/bin查看kylin可清理数据 ./kylin.sh org.apache.kylin.tool.StorageCleanupJob --delete fa...

2019-06-25 19:31:56 1538

原创 二、Spark源码-- RDD生成及转换过程

本篇从源码角度介绍下RDD的生成和转换过程RDD生成过程RDD生成有几种方式,最常用的是sparkContext.textFile方法 def textFile( path: String, minPartitions: Int = defaultMinPartitions): RDD[String] = withScope { assertNotStopped...

2019-06-23 23:16:38 645

原创 三、Spark源码--Spark On Yarn 提交过程

本篇主要记录看源码的一个执行过程路径,简要记录,方便以后理清思路,或者给正在看源码的提供一个思路。还是对着源码看看相信会有很大的收获。入口spark 提交的任务入口都是SparkSubmit,从SparkSubmit.scala main class开始main ==>submit(appArgs)==>prepareSubmitEnvironment 准备提交环...

2019-06-22 21:49:49 526

原创 一、Spark官网走读笔记

Spark基础概念RDD 弹性分布式数据集弹性:当内存计算资源不足时,可以刷到磁盘上,rdd使用checkpoint在数据更新和丢失后对数据模型进行重建分布式:可以分布在多台机器上进行计算数据集:一组只读的,可分区的分布式数据集合,将形同属性的数据记录放在一起,每个分区相当于一个数据集片段Spark概念关键词Master stand-alone模式中的主节点,管理所有...

2019-06-20 17:01:52 405

原创 二十七、Flink源码阅读--checkpoint原理

flink checkpoint 原理是在源码中怎么实现的,本篇从源码角度深入理解API设置设置checkpoint参数相关代码final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.enableCheckpointing(5000);env.get...

2019-06-19 11:10:40 1814

原创 二十六、Flink源码阅读--sql执行转换过程

flink sql 在执行中是如何从sql语句或者是table api 转为最后的DataStream任务或者是DataSet任务的,本篇我们从源码角度看下中间的执行和转换过程。DEMO这是flink的一个单元测试方法,模拟实时数据查询@Test public void testSelect() throws Exception { StreamExecutionEnvironme...

2019-06-17 18:14:45 2442

原创 二十五、Flink + Uber AthenaX 平台化实践

本篇学习一下flink sql 的转换原理,如何将sql转为stream流任务。sql示例转换过程及源码总结

2019-06-13 22:45:39 4095 10

原创 二十四、Flink源码阅读--反压相关源码实现

本篇我们看下flink以反压为问题带入,查看数据处理相关的源码源码分析之前再Task启动的过程中,Task的run方法中是任务执行的相关逻辑代码,其中有一行network.registerTask(this);这行代码就是给这个Task注册网络相关的堆栈public void registerTask(Task task) throws IOException { final R...

2019-06-12 20:08:58 845

原创 二十三、Apache Flink常见问题汇总

本篇主要记录一些Flink生产或者是原理方面的问题问题汇总(不定时更新)1.flink如何处理背压问题?2.flink sql 转换为DataStream或DataSet任务的原理是什么?详细过程描述3.flink checkpoint 原理是怎么实现的?4.flink 为何可以做到exactly-once ?5.如何实现flink到kafka或mysql的exactly-once...

2019-06-12 10:58:43 1935 1

原创 二十二、Flink源码阅读--Task执行过程

在Flink JobMaster中生成ExecutionGraph和物理执行计划后,Task是如何提交和执行的呢,本篇我们看下这部分的源码源码分析Execution.deploy ===>public void deploy() throws JobException {...final TaskDeploymentDescriptor deployment = vertex...

2019-06-08 15:57:21 939

原创 二十一、Flink源码阅读--ExecutionGraph生成过程

在上一篇服务端处理jobGraph提到,jobGraph是转换为executionGraph,最后被执行调度的,那么本篇我们看下这一过程的源码源码分析从JobMaster的启动开始讲起JobMaster.start—>JobMaster.startJobExecution—>resetAndScheduleExecutionGraph方法将JobGraph转换为 Execut...

2019-06-07 19:26:26 995

原创 二十、Flink源码阅读--JobManager对提交过来的JobGraph处理过程

在client提交任务的源码分析那篇中我们知道了客户端提交给JobManager的是一个JobGraph对象,那么当JobManager的Dispatcher组件接收到JobGraph后做了哪些处理呢,这篇我们从源码分析一些这个处理过程。源码分析NettyRPC 接收到请求调用的是channelRead0方法,所以在JM端程序的入口:RedirectHandler.channelRead...

2019-06-05 20:24:00 1246

原创 十九、Flink源码阅读--TaskManager启动过程

本篇我们接这上篇JobManager启动后,来看下TaskManager启动前后的源码。TM的启动入口类为:org.apache.flink.runtime.taskexecutor.TaskManagerRunner源码分析public static void main(String[] args) throws Exception { ... 省略 try { Secur...

2019-06-04 17:28:37 1602

原创 十八、Flink源码阅读--JobManager启动过程

本文我们详细看下Jm的启动步骤,主要看下stand-alone模式下Jm的启动,在关键步骤是穿插on-yarn模式的说明入口分析从flink安装包的bin/start-cluster.sh分析开始,会发现Jm的主类org.apache.flink.runtime.entrypoint.StandaloneSessionClusterEntrypoint,tm的主类是org.apache....

2019-06-03 20:40:16 1210

原创 十七、Flink进阶-- 数据类型与序列化

flink在数据存储和数据交换的过程中需要交换大量信息,本篇我们了解一些关于flink序列化相关的内容。常见问题注册子类型 :如果函数仅描述了父类型,但执行是指定子类型的话会大大提升性能,注册自定义类型 :类似google guava 集合类 无法处理是就需要自定义序列化器添加类型提示: 当flink无法推断类型时,用户必须传递类型提示用户自定义TypeInformation: 对...

2019-06-03 17:27:31 1960

原创 十六、Flink进阶--Flink checkpoint实现原理

前面我们已经了解过flink的状态,对于这些状态如何保存,我们一起学习一下flink的checkpoint机制,并了解一下rocksdb中的增量checkpoint是怎么实现的。Checkpoint实现原理Flink提供的checkpoint机制可以在流任务发生故障时,任务恢复之后,state只被处理一次 exactly once ,当然也可选为 at least once。checkpo...

2019-06-02 16:26:32 5212

原创 十五、Flink源码阅读--StreamGraph生成过程

本篇我们将介绍下StreamGraph的生成过程入口分析以WordCount为例子final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();...中间过程省略// 执行程序env.execute("Streaming WordCount");然后进到...

2019-06-01 22:59:15 577

原创 十四、Flink源码阅读--JobGraph生成过程

上篇分析了client整个提交任务过程,最终提交的是一个JobGraph对象,那么是如何从jar或sql 任务转为JobGraph的呢,这篇我们仔细研究一下, 版本为1.6.3源码分析上篇我们介绍client端提交任务最终会到到 ClusterClient.run()方法,就在这个方法中封装了JobGraph的步骤。public JobSubmissionResult run(Flink...

2019-05-31 21:04:17 1023

原创 十三、Flink源码阅读--Client提交任务过程

我们以flink中自带的wordcount例子作为提交任务,查看在客户端Flink提交任务的详细源码步骤。入口分析首先我们看一下提交命令如下:bin/flink run examples/batch/WordCount.jar接着会在bin/flink shell脚本中找到提交的主类org.apache.flink.client.cli.CliFrontend。我们从CliFron...

2019-05-31 10:55:46 4171

原创 mysql 添加用户并授权

给mysql数据库添加一个用户并授权,在这里记录一下:例子是创建了一个xiaoming账号,密码123456,可以访问wangzhe库创建用户:create user xiaoming identified by ‘123456’;授权:grant all privileges on wangzhe.* to xiaoming@’%’ identified by ‘123456’;刷新...

2019-05-29 15:25:15 1594

原创 十二、Flink实战--DataStream、DateSet、TableAPI 、SQL各种实现

Flink API实现1. DataStream 实现2. DataSet 实现3. Table API & SQl实现今天我们模拟实际生成,从kafka消费数据,利用flink的各种API实现,统计wordcount。1. DataStream 实现package com.bigdata.flink.datasteam;import org.apache.flink.api.c...

2019-05-27 17:56:50 2115 1

原创 十一、Flink进阶--Time深度解析

Time深度解析1. 概述1.1设置一个时间特征1.2EventTime 和 Watermark2.TimeStamps/WaterMark2.1TimeStamp的分配和WaterMark的生成2.2 watermark传播2.3 watermark的处理3.Table中时间1. 概述Flink在流处理程序中支持不同的时间概念。首先需要理解三种time的含义:Processing t...

2019-05-27 15:40:05 1758

原创 十、Flink进阶--Runtime核心架构

1. Flink Runtime 概述1.1 概述Flink RunTime是介于底层部署与DataSteamApi或DataSetApi之间的一层,以JobGraph形式接收程序,将任务task提交到集群上执行,RunTime层可以适用不同底层部署模式。Flink Runtime总体架构如下如所示:主要分为Client ,JobManager, TaskManagerClient ...

2019-05-25 16:35:53 1368

原创 九、Flink入门--SQL实战

Flink-Sql 实战案例1.环境准备2.实战演示2.1 需求一(出现在纽约的行车记录)2.2 需求二(计算搭载每种乘客数量的行车记录数)2.3 需求三(计算纽约市每个区域5分钟的进入车辆数)2.4 需求四(将每10分钟搭乘的乘客总数写入Kafka)2.5 需求五(将每个区域出发的行车数写入到ES)1.环境准备下载代码并安装环境,前提是准备好Docker环境。git clone git@g...

2019-05-24 18:13:40 3316 2

原创 八、Flink入门--TableApi & Sql

TableAPi1. 概述2. Table API编程2.1 word count例子2.2 注册表的几种方式2.3输出表的几种方式2.4 查询表2.5 Table to DataStream 或 DataSet2.6 Table 函数及转换关系3.UDF 用户自定义函数3.1编写一个udf3.2编写一个udtf3.2编写一个udaf1. 概述TableApi & sql的特点:声...

2019-05-23 17:22:43 1483

原创 七、Flink入门--状态管理

流式作业的特点时7*24小时运行,数据不重复消费,不丢失,保证只计算一次,数据实时产出不延迟,但是当状态很大,内存容量限制,或者实例运行奔溃,或需要扩展并发度等情况下,如何保证状态正确的管理,在任务重新执行的时候能正确执行,状态管理就显得尤为重要。

2019-05-23 00:10:59 1321

原创 六、Flink入门--Window理解

Flink Window 概述window是flink处理无穷流的核心,window将流拆分成有限大小的“桶”,在其上做运算。Window Api使用首先我们看下windown的api如何使用,摘用官网的说明:Keyed Windowsstream .keyBy(...) <- keyed versus non-keyed windo...

2019-05-21 23:05:25 1132

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除