zoukankan      html  css  js  c++  java
  • 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 的元素将被过滤掉。

    2、Actions 算子

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

    foreachPartition
      foreachPartition和foreach类似,只不过是对每一个分区使用f。一份待处理的原始数据会被按照相应的逻辑(例如jdbc和hdfs的split逻辑)切分成n份,每份数据对应到RDD中的一个Partition,Partition的数量决定了task的数量,影响着程序的并行度.

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

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

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

    saveAsNewAPIHadoopDataset(org.apache.hadoop.conf.Configuration conf)
      把task中的数据通过指定的output format写入到hadoop的实现接口中(例如把JavaPairRDD<ImmutableBytesWritable, Put>类型的数据写入到Hbase中)

  • 相关阅读:
    Windows Media Player Audio normalize wmp音量规格化
    IE6、IE7、IE8不支持XHTML,不过没关系
    w3.org出现HTML语法错误
    主板bios修改、刷新
    HTML原则:内容放在HTML中,不要依赖CSS
    textarea应使用cols和rows来控制width和height,而不应只使用css
    sata AHCI驱动下载(AMD Intel Nvidia)
    咬文嚼字:中国文字、中国话
    详解W3C标准:html 4.01中的lang属性——实际上它是一个刮胡刀
    热烈欢呼:cnblogs.com博客园首页通过W3C验证
  • 原文地址:https://www.cnblogs.com/mycd/p/9173914.html
Copyright © 2011-2022 走看看