SparkCore总结
1、RDD
1.1定义 :
数据集:存储的数据的计算逻辑
分布式:数据的来源 & 数据的计算 & 数据的存储
弹性:血缘(依赖关系)Spark可以通过特殊的处理方案简化依赖关系
计算 Spark的计算是基于内存的,所以性能特别高,可以和磁盘灵活切换
分区 Spark在创建默认分区后,可以通过指定的算子来改变分区数量
容错 Spark在执行计算时,如果发生了错误,需要进行容错重试处理
Spark中数量:Executor: 可以通过提交应用的参数进行设定
Parition:默认情况下,读取文件采用的是Hadoop的切片规则,如果读取内存中的数据,可以根据特定的算法进行设定。可以通过其他算子进行改变。多个阶段的场合,下一个阶段的分区数量取决于上一个阶段最后的RDD分区数,但是可以在相应的算子中进行修改
Stage:Shuffle依赖数量(ShuffleMapStage)+1(ResultStage) 划分阶段的目的就是为了任务执行的等待,因为Shuffle的过程需要等待
Task:原则上一个分区就是一个任务,但实际应用中,可以动态调整
1.2创建
1)从内存中创建
2)从存储中创建
3)从其他RDD中创建
1.3属性
分区、依赖关系、分区器、优先位置、计算函数
1.4使用
转换算子
行动算子:RunJob
2、广播变量
分布式共享只读数据
3、累加器
分布式共享只写数据