
spark实战系列
以实战为线索,逐步深入
忆山
从事大数据开发工作
1.高级大数据开发工程师spark、flink、kafka、hive、hbase等
2.搜索服务开发Elasticsearch
等相关大数据工作
展开
-
Spark Job Submit分析
Spark Job Submit1. Driver向Master注册Application过程val command = Command("org.apache.spark.executor.CoarseGrainedExecutorBackend", args, sc.executorEnvs, classPathEntries, libraryPathEntries, extraJavaO...原创 2020-03-29 18:01:41 · 412 阅读 · 0 评论 -
spark算子reducebykey和groupbykey的对比
一、场景reducebykey和groupbykey作为经常使用的算子,都会触发shuffle操作1.reducebykey返回的k-v的tuple的rdd2.groupbykey返回的k-iterable的tuple的rdd二、源码解读这两个方法的底层都调用了combineByKeyWithClassTag这个方法groupbykey 调用reducebyk...原创 2020-02-11 16:42:31 · 399 阅读 · 0 评论 -
spark-streaming消费kafka写入hbase踩坑实战
场景otter同步mysql的数据到kafka,spark-streaming消费kafka,采用motator异步写hbase。mysql的insert,update,delete特别频繁,每秒都有大量的insert,delete,update以下都是基于同一条数据操作1. 坑 Delete(byte [] row), Put(byte[] row),bufferedmu...原创 2020-02-11 16:27:25 · 1112 阅读 · 0 评论 -
spark-streaming消费kafka写hbase代码实战调优
1、处理逻辑通过新增map集合来提升处理性能2、资源配置--executor-cores 3 \--num-executors 5\--executor-memory 2G \--driver-memory 2G \3、测试场景这个topic有15个分区,并且数据量挺大,所以需要15个core处理,从earliest消费写到测试表,4千万的数据量第三次...原创 2020-02-11 16:23:11 · 403 阅读 · 0 评论 -
spark整合kafka实战
一、如何实现sparkstreaming从kafka中读取数据1、在kafka0.10版本之前有两种方式,一种是基于receiver,一种是direct <1>、receiver:是采用kafka高级api,利用receiver接收器来接收kafka中topic的数据,从kafka接收来的数据会存储在spark的executor中,之后sparkstreaming提交的jo...原创 2020-02-10 21:16:32 · 370 阅读 · 0 评论 -
spark经典面试题
一、什么是宽依赖,什么是窄依赖,哪些算子是宽依赖,哪些是窄依赖1、宽依赖:一个分区对应多个分区,这就表明有shuffle过程,父分区数据经过shuffle过程的hash分区器划分子rdd。例如:groupbykey reducebykey sortbykey等操作,shuffle可以理解为数据从原分区打乱重组到新分区2、窄依赖:一个分区对应一个分区,这个过程没有shuffle过...原创 2020-02-10 20:32:43 · 384 阅读 · 0 评论 -
spark的开窗函数实战
1、count(*)2、row_number() over()排序3、row_number() over(partition by……分区4、【开窗嵌套开窗】rank() over()5、dense_rank() over() 函数一、count(*) 得到所有专业下所有老师的访问数:valmiddleData:DataFrame=session.sql(...原创 2020-02-05 22:21:43 · 553 阅读 · 0 评论 -
flink介绍
一、基于Flink spark和storm的对比storm、spark streaming、flink都是开源的分布式系统,具有低延迟、可扩展和容错性诸多优点,允许你在运行数据流代码时,将任务分配到一系列具有容错能力的计算机上并行运行,都提供了简单的API来简化底层实现的复杂程度。Apache Storm在Storm中,先要设计一个用于实时计算的图状结构,我们称之为拓扑(topolo...原创 2019-05-15 10:44:51 · 143 阅读 · 0 评论