spark大数据分析:spark core(1) RDD概念

RDD 的初步了解

数据存储

RDD 是一种集合,用来存储和管理数据

分布式存储

分布式运算思想是 将大数据量数据分成多份,使用多台机器处理,待所有机器处理完毕汇总到同一台机器上,RDD中数据切分为多个分区,对于开发者是封闭的,可以通过 foreachPartition 遍历当前RDD的分区

内存优先

默认情况下数据可以缓存在内存中则不通过磁盘

数据可靠性

RDD之间有强的血缘关系,在程序运行时,中间某个RDD出现丢失或错误情况,通过血缘关系重新运算,恢复不是全量数据进行重算,只是需要重新计算的分区数据,对于一些依赖链较长的可以通过checkPoint来进行持久化RDD

数据分析

RDD 之间有转换算子和行动算子对数据进行操作

程序调度

Driver

构建spark的上下文实例(SparkContext),程序的主入口,包含所有的代码,记录每一个RDD的依赖关系

Job

在整个程序中,每次action 操作会产生一个job 而转换算子并不会产生job

stage

每一个job 由多个Stage 组成,依次执行,只要涉及到数据重组(比如shuffle) 就会产生新的stage,每一个stage结束,数据在分区中会发生变化

task

一个stage包含多个task,一个task 一次只处理一个分区中数据

master

在spark提交程序时,需要与Master服务通信,申请运行任务所需的资源

worker

当前程序申请的运算资源由worker服务提供

executor

用于执行运算任务(Task)的进程,Executor 进程负责接收Driver进程派发过来运算任务(Task)

©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页