Advertisement

Spark 延时计算的核心原理

阅读量:

Spark 延时计算原理

Spark算子主要分为两类:

  • Transformation变换/转换算子:该变换采用延迟计算模式,在生成目标RDD的过程中不会立即启动运算操作。运算会在接收相关Action操作时才真正被触发。
    • Action行动算子:此类操作会引发Spark作业提交,并将数据输出至指定位置。

Spark属于延时计算系统,在该系统中只有当Action运算符被激活才会导致任务进入正式执行阶段。那么如何实现Spark中的延时计算机制呢?深入理解延时计算的核心原理需要解决以下三个关键问题:

  1. 如何暂存计算逻辑?
  2. 如何进行逻辑分发?
  3. 如何还原计算逻辑?

一、如何暂存计算逻辑?

WordCount代码为例:

复制代码
    val file = sc.textFile("...")
    val wordCounts = file
      .flatMap(line => line.split(","))
      .map(word => (word, 1))
      .reduceByKey(_ + _)
    wordCounts.saveAsTextFile("...")

sc.textFile()并未立即执行文件读取操作,而是生成了一个名为HadoopRDD的RDD子类对象

全部评论 (0)

还没有任何评论哟~