SparkStreaming的编程模型及原理的认识

数据结构

DStream :SparkStreaming中使用的数据结构,代表一个连续的数据流,是由一系列带有时间维度的RDD组成
SparkStreaming的编程模型及原理的认识

RDD:只读、有分区的数据集,利用有向无环图(DAG)记录数据结构之间的变化,属性如下:

属性 含义 使用场景
分区列表— partitios 每个分区存储RDD的一部分数据
分区位置列表—preferredLocations 记录每个分区数据存储在哪台机器节点上 重写方法getPreferredLocations,实现让分区尽可能和数据在相同的机器上
依赖列表—dependencies 记录RDD的依赖关系
分区器—partitioner 记录RDD的依赖关系 重写方法getPartitions,按自定义方式分区,目前支持Hash和Range分区
计算函数—compute 利用父分区计算RDD分区的值

yarn-cluster提交任务流程

SparkStreaming的编程模型及原理的认识
流程描述:
1.SparkStreaming任务提交后,Client向HDFS上传SparkStreaming的Jar包和配置,之后向Yarn ResourceManager提交任务
2. ResourceManager通知对应的NodeManager启动ApplicationMaster,ApplicationMaster启动后加载SparkStreaming的Jar包和配置构建环境,启动Driver(包含SparkStreamingContext和SparkContext)
3. ApplicationMaster向ResourceManager申请资源启动Executor,ResourceManager分配Executor资源后,由ApplicationMaster通知资源所在节点的NodeManager启动Executor
4. Executor启动后向Driver发送心跳包,并等待Driver向其分配任务

相关文章:

  • 2021-06-13
  • 2021-10-09
  • 2021-10-16
  • 2022-01-13
  • 2022-12-23
  • 2021-11-16
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-15
  • 2021-10-05
  • 2021-12-01
  • 2021-06-15
  • 2022-12-23
  • 2021-06-18
  • 2022-12-23
相关资源
相似解决方案