随笔分类 - spark
摘要:数据倾斜解决方案 目录 "数据倾斜解决方案" "聚合源数据" "提高shuffle操作的reduce并行度" "使用随机key实现双重聚合" "将reduce join转为map join" "sample采样倾斜key进行两次join" "使用随机数以及扩容表进行join" 聚合源数据 1. 第一
阅读全文
摘要:troubleShooting "troubleShooting" "控制shuffle reduce端缓冲大小以避免OOM" "JVM GC导致shuffle文件拉取失败" "Yarn队列资源不足导致Application直接失败" "各种序列化导致的报错" "算子函数返回NULL导致的问题" "
阅读全文
摘要:算子调优 目录 "算子调优" "map与mapPartitions" "filter过后使用coalesce" "foreachPartition优化写数据库" "repartition解决Spark SQL并行度过低" "reduceByKey的Map端本地聚合" map与mapPartition
阅读全文
摘要:Shuffle调优 目录 "Shuffle调优" "调节Map端内存缓冲与Reduce端内存占比" "spark.shuffle.sort.bypassMergeThreshold" 调节Map端内存缓冲与Reduce端内存占比 问题 默认情况下,shuffle的map task,输出到磁盘文件的时
阅读全文
摘要:性能调优 目录 "性能调优" "调节并行度" "重构RDD与持久化" "广播大变量" "使用Kryo序列化" "使用fastutil优化数据格式" "调节数据本地化等待时长" "JVM调优之降低cache操作的内存占比" "JVM调优之调节Executor堆外内存与连接等待时长" 调节并行度 并行度
阅读全文
摘要:Spark Streaming学习笔记 同Spark SQL一样,Spark Streaming学习也是放在了 "github" "https://github.com/yangtong123/RoadOfStudySpark/blob/master/src/com/spark/streaming/
阅读全文
摘要:Spark SQL学习笔记 Spark SQL学习笔记设计到很多代码操作,所以就放在 "github" , "https://github.com/yangtong123/RoadOfStudySpark/blob/master/src/com/spark/sql/Readme.md" 其中包括了对
阅读全文
摘要:Spark Shuffle分析 目录 "Shuffle简介" "Shuffle写操作" "Shuffle读操作" Shuffle简介 在Hadoop中的MapReduce框架中,Shuffle是连接Map和Reduce的桥梁,Map的输出到Reduce中必须经过Shuffle这个环节。由于Shuff
阅读全文
摘要:Spark应用程序之间调度算法 在Standalone模式下,Master提供里资源管理调度功能。在调度过程中,Master先启动等待列表中应用程序的Driver,这个Driver尽可能分散在集群的Worker节点上,然后根据集群的内存和CPU使用情况,对等待运行的应用程序进行资源分配。默认分配规则
阅读全文
摘要:作业执行源码分析 当我们的代码执行到了action(行动)操作之后就会触发作业运行。在Spark调度中最重要的是DAGScheduler和TaskScheduler两个调度器,其中,DAGScheduler负责任务的逻辑调度, 将作业拆分为不同阶段的具有依赖关系的任务集。TaskScheduler则
阅读全文
摘要:Spark消息通信 Spark启动消息通信 Spark启动过程中主要是进行Master和Worker之间的通信,其消息发送关系如下,首先由worker节点向Master发送注册消息,然后Master处理完毕后,返回注册成功消息或失败消息。 其详细过程如下: (1) 当Master启动后,随之启动各W
阅读全文
摘要:SparkContext源码分析 在任何Spark程序中,必须要创建一个SparkContext,在SparkContext中,最主要的就是创建了TaskScheduler和DAGScheduler,以及SparkUI 图解如下(其中的SparkDeploySchedulerBackend是1.0的
阅读全文
摘要:RDD 是什么? RDD 是什么? RDD全称Resilient Distributed Dataset,光看名字并不能理解它到底是个什么东西,其实,我们可以就把它当做是一个分布式的容器,每个容器都有很多的分区,一般情况下每个分区在不同的机器上。对RDD的操作就是对每个分区的操作。如下图 RDD 5
阅读全文

浙公网安备 33010602011771号