摘要: v> RDD 任务切分中间分为:Application、Job、Stage 和 Task Application:初始化一个 SparkContext 即生成一个 Application; Job:一个 Action 算子就会生成一个 Job; Stage:Stage 等于宽依赖(ShuffleDe 阅读全文
posted @ 2024-02-21 17:26 会飞的猪仔 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 分析源码步骤: 第一步程序入口: 第二步一直查看runjob方法,可以看出collect()是RDD行动算子,与Job运行提交相关 rdd.scala sparkcontext.scala sparkcontext.scala sparkcontext.scala 第三步runJob()与DAG调度 阅读全文
posted @ 2024-02-21 16:18 会飞的猪仔 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Spark glom 功能:该函数将RDD中每一个分区变成一个数组,并放置在新的RDD中,数组中元素的类型与原分区中元素类型一致 val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("mapPartitions 阅读全文
posted @ 2024-02-19 18:04 会飞的猪仔 阅读(4) 评论(0) 推荐(0) 编辑
摘要: dd的mapPartitions是map的一个变种,它们都可进行分区的并行处理。两者的主要区别是调用的粒度不一样:map的输入变换函数是应用于RDD中每个元素,而mapPartitions的输入函数是应用于每个分区。Map 算子是分区内一个数据一个数据的执行,类似于串行操作。而 mapPartiti 阅读全文
posted @ 2024-02-19 15:53 会飞的猪仔 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 流式任务需要 7*24 小时执行,但是有时涉及到升级代码需要主动停止程序,但是分布式程序,没办法做到一个个进程去杀死,所有配置优雅的关闭就显得至关重要了。使用外部文件系统来控制内部程序关闭。 其实就是单独起一个线程专门去专门查找程序是否停止的标志 import java.net.URI import 阅读全文
posted @ 2024-01-24 16:23 会飞的猪仔 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 输出操作指定了对流数据经转化操作得到的数据所要执行的操作(例如把结果推入外部数据库或输出到屏幕上)。与 RDD 中的惰性求值类似,如果一个 DStream 及其派生出的 DStream 都没有被执行输出操作,那么这些 DStream 就都不会被求值。如果StreamingContext 中没有设定输 阅读全文
posted @ 2024-01-24 16:09 会飞的猪仔 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Window Operations 可以设置窗口的大小和滑动窗口的间隔来动态的获取当前 Steaming 的允许状态。所有基于窗口的操作都需要两个参数,分别为窗口时长以及滑动步长。 ➢ 窗口时长:计算内容的时间范围; ➢ 滑动步长:隔多久触发一次计算。 注意:这两者都必须为采集周期大小的整数倍。 o 阅读全文
posted @ 2024-01-24 11:17 会飞的猪仔 阅读(1) 评论(0) 推荐(0) 编辑
摘要: UpdateStateByKey 原语用于记录历史记录,有时,我们需要在 DStream 中跨批次维护状态(例如流计算中累加 wordcount)。针对这种情况,updateStateByKey()为我们提供了对一个状态变量的访问,用于键值对形式的 DStream。给定一个由(键,事件)对构成的 D 阅读全文
posted @ 2024-01-24 10:50 会飞的猪仔 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 无状态转化操作就是把简单的 RDD 转化操作应用到每个批次上,也就是转化 DStream 中的每一个 RDD。部分无状态转化操作列在了下表中。注意,针对键值对的 DStream 转化操作(比如reduceByKey())要添加 import StreamingContext._才能在 Scala 中 阅读全文
posted @ 2024-01-23 18:26 会飞的猪仔 阅读(1) 评论(0) 推荐(0) 编辑
摘要: RDD是怎么生成的? RDD依靠什么生成?根据DStream来的 RDD生成的依据是什么? Spark Streaming中RDD的执行是否和Spark Core中的RDD执行有所不同? 运行之后我们对RDD怎么处理? ForEachDStream不一定会触发Job的执行,但是它一定会触发job的产 阅读全文
posted @ 2024-01-23 17:20 会飞的猪仔 阅读(7) 评论(0) 推荐(0) 编辑