1.spark 算子分类 1.1Transformation 算子 Transformation 算子不触发提交作业, 完成作业中间处理过程。Transformation 算子又分为如下两类: 1.Value 数据类型的 Transformation 算子:针对处理的数据项是 Value 型的数据。 2.Key-Val ..

spark 算子详解 ------spark 算子分类

本贴最后更新于 247 天前,其中的信息可能已经斗转星移

1.spark 算子分类

1.1Transformation 算子

Transformation 算子不触发提交作业, 完成作业中间处理过程。Transformation 算子又分为如下两类:
1.Value 数据类型的 Transformation 算子:针对处理的数据项是 Value 型的数据。
2.Key-Value 数据类型的 Transformation 算子:针对处理的数据项是 Key-Value 型的数据。

1.2Action 算子

Action 算子会触发 SparkContext 提交 Job 作业。

2.spark 算子列表

2.1.Value 数据类型的 Transformation 算子

2.1.1. 输入分区与输出分区一对一类型的算子

(1)map 算子
(2)flatMap 算子
(3)mapPartitions 算子
(4)mapPartitionsWithIndex 算子
(5)glom 算子
(6)randomSplit 算子

2.1.2. 输入分区与输出分区多对一类型的算子

(1)union 算子
(2)cartesian 算子

2.1.3. 输入分区与输出分区多对多类型的算子

(1)groupBy 算子
(2)coalesce 算子
(3)repartition 算子

2.1.4. 输出分区为输入分区子集型的算子

(1)filter 算子
(2)distinct 算子
(3)intersection 算子
(4)subtract 算子
(5)sample 算子
(6)takeSample 算子

2.1.5.Cache 型的算子

(1)persist 算子
(2)cache 算子

2.2.Key-Value 数据类型的 Transformation 算子

2.2.1. 输入分区与输出分区一对一类型的算子

(1)mapValues 算子
(2)flatMapValues 算子
(3)sortByKey 算子
(4)sortBy 算子
(5)zip 算子
(6)zipPartitions 算子
(7)zipWithIndex 算子
(8)zipWithUniqueId 算子

2.2.2. 对单个 RDD 或两个 RDD 聚集的算子

单个 RDD 聚集
(1)combineByKey 算子
(2)reduceByKey 算子
(3)partitionBy 算子
(4)groupByKey 算子
(5)foldByKey 算子
(6)reduceByKeylocally 算子

两个 RDD 聚集
(7)Cogroup 算子
(8)subtractByKey 算子

2.2.3. 连接类型的算子

(1)join 算子
(2)leftOutJoin 算子
(3)rightOutJoin 算子

2.3.Action 算子

2.3.1. 无输出的算子

(1)foreach 算子
(2)foreachPartition 算子

2.3.2. 输出到 HDFS 的算子

(1)saveAsTextFile 算子
(2)saveAsObjectFile 算子
(3)saveAsHadoopFile 算子
(4)saveAsSequenceFile 算子
(5)saveAsHadoopDataset 算子
(6)saveAsNewAPIHadoopFile 算子
(7)saveAsNewAPIHadoopDataset 算子

2.3.3. 输出 scala 集合和数据类型的算子

(1)first 算子
(2)count 算子
(3)reduce 算子
(4)collect 算子
(5)take 算子
(6)top 算子
(7)takeOrdered 算子
(8)aggregate 算子
(9)fold 算子
(10)lookup 算子
(11)countByKey 算子

  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    69 引用 • 45 回帖 • 574 关注
  • rdd
    5 引用 • 2 回帖
回帖   
请输入回帖内容...