当前位置: 首页>后端>正文

Spark编程模型与延迟计算

  1. RDD编程模型中,一种有2种算子:transformations类算子和Actions类算子。
  • Transformations算子:定义不同RDD形态之间的转换,计算流图(DAG,Directed Acyclic Graph);
  • Actions:将计算结果收集起来或者物化到磁盘,以回溯的方式去触发执行这个计算流图DAG
  1. 开发者调用的各类 Transformations 算子,并不立即执行计算,当且仅当开发者调用 Actions 算子时,之前调用的转换算子才执行,称为“延迟计算”(Lazy Evaluation)。所以,Transformations算子执行很快,而Actions算子执行速度很慢。
  2. 官网上算子分类:https://spark.apache.org/docs/latest/rdd-programming-guide.html
    • 3.1Trasformtion算子
      • union、reduceByKey、groupBy、join、map、mapPartition
        、cogroup、parallelize、textFile、leftoutJoin、flatMap、coalesce、Repartition
    • 3.2 Action算子
      • count、take、collect、foreach、foreachPartition、saveAsTextFile、ditinct、
        first、reduce
    • 3.3 shuffle算子
      • reduceByKey、groupBy、join、coalesce、Repartition、leftoutJoin、cogroup
    • 3.4 产生Stage划分的算子
      • reduceByKey、groupBy、join、coalesce、Repartition、leftoutJoin、cogroup
    • 3.5 触发Job算子
      • count、take、collect、foreach、foreachPartition、saveAsTextFile、ditinct、
        first、reduce
  3. RDD的4大属性
  • partitions:数据分片
  • partitioner:分片切割规则
  • dependencies:RDD 依赖
  • compute:转换函数

https://www.xamrdz.com/backend/3p81941430.html

相关文章: