Spark 延时计算的核心原理
发布时间
阅读量:
阅读量
Spark 延时计算原理
Spark算子主要分为两类:
- Transformation变换/转换算子:该变换采用延迟计算模式,在生成目标RDD的过程中不会立即启动运算操作。运算会在接收相关Action操作时才真正被触发。
- Action行动算子:此类操作会引发Spark作业提交,并将数据输出至指定位置。
Spark属于延时计算系统,在该系统中只有当Action运算符被激活才会导致任务进入正式执行阶段。那么如何实现Spark中的延时计算机制呢?深入理解延时计算的核心原理需要解决以下三个关键问题:
- 如何暂存计算逻辑?
- 如何进行逻辑分发?
- 如何还原计算逻辑?
一、如何暂存计算逻辑?
以WordCount代码为例:
val file = sc.textFile("...")
val wordCounts = file
.flatMap(line => line.split(","))
.map(word => (word, 1))
.reduceByKey(_ + _)
wordCounts.saveAsTextFile("...")
sc.textFile()并未立即执行文件读取操作,而是生成了一个名为HadoopRDD的RDD子类对象
全部评论 (0)
还没有任何评论哟~
