Spark常用算子总结

Spark 算子大致可以分为以下两类:

     1)Transformation 变换/转换算子:这种变换并不触发提交作业。

     这种操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD的转换的操作并不会马上执行,而是要等到有 Action 操作的时候才会触发。

     2)Action 行动算子:这类算子会触发 SparkContext 提交 Job 作业。

      Action 算子会触发 Spark 提交作业(Job),并将数据输出 Spark系统。

  而Transformation算子有可以分为2类:

  1)Value数据类型的Transformation算子,针对处理的数据项是Value型的数据。
  2)Key-Value数据类型的Transfromation算子,针对处理的数据项是Key-Value型的数据对。

1. Transformations 算子
 map

  将原来 RDD 的每个数据项通过 map 中的用户自定义函数 f 映射转变为一个新的元素。

 flatMap
     将原来 RDD 中的每个元素通过函数 f 转换为新的元素,并将生成的 RDD 的每个集合中的元素合并为一个集合。

groupBy
  groupBy :将元素通过函数生成相应的 Key,数据就转化为 Key-Value 格式,之后将 Key 相同的元素分为一组。

 filter
    filter 函数功能是对元素进行过滤,对每个 元 素 应 用 f 函 数, 返 回 值 为 true 的 元 素 在RDD 中保留,返回值为 false 的元素将被过滤掉。

 foreach
  foreach 对 RDD 中的每个元素都应用 f 函数操作,不返回 RDD 和 Array, 而是返回Uint。

saveAsTextFile
  函数将数据输出,存储到 HDFS 的指定目录。

collect
  collect 将分布式的 RDD 返回为一个单机的 scala Array 数组。在这个数组上运用 scala 的函数式操作。

 count
  count 返回整个 RDD 的元素个数。

saveAsHadoopDataset

  把task中的数据通过指定的output format写入到hadoop的实现接口中

猜你喜欢

转载自www.cnblogs.com/mycd/p/9173914.html