美文网首页
Spark-RDD行动算子

Spark-RDD行动算子

作者: 布莱安托 | 来源:发表于2020-07-06 19:58 被阅读0次

reduce(func)

  • 说明

    通过func函数聚合RDD中所有元素,先聚合分区内元素,再聚合分区间元素

  • 示例

    val rdd = sc.parallelize(1 to 10, 2)
    val reduceRdd = rdd.reduce(_ + _)
    reduceRdd.collect.foreach(println)
    
  • 结果

55

collect

  • 说明

    将RDD中全部数据以数据形式返回

  • 示例

    val rdd = sc.parallelize(1 to 10)
    println(rdd.collect)
    
  • 结果

Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

count

  • 说明

    返回RDD中元素个数

  • 示例

    val rdd = sc.parallelize(1 to 10)
    println(rdd.count)
    
  • 结果

10

first

  • 说明

    返回RDD中第一个元素

  • 示例

    val rdd = sc.parallelize(1 to 10)
    println(rdd.first)
    
  • 结果

1

take(n)

  • 说明

    返回RDD中前n和元素

  • 示例

    val rdd = sc.parallelize(1 to 10)
    println(rdd.take(3))
    
  • 结果

Array(1, 2, 3)

takeOrdered(n)

  • 说明

    返回RDD排序后的前n个元素

  • 示例

    val rdd = sc.parallelize(Array(2, 3, 4, 6, 1))
    println(rdd.takeOrdered(3))
    
  • 结果

Array(1, 2, 3)

aggregate(zero)(seqOp, combOp)

  • 说明

    通过seqOp将分区内元素与初始值zero进行聚合,然后通过combOp将分区聚合结果与初始值zero进行聚合

  • 示例

    val rdd = sc.parallelize(1 to 10, 2)
    val aggregateRdd = rdd.aggregate(0)(_ + _, _ + _)
    aggregateRdd.collect.foreach(println)
    
  • 结果

55

fold(zero)(func)

  • 说明

    与aggregate功能相似,seqOp与combOp为同一函数

  • 示例

    val rdd = sc.parallelize(1 to 10, 2)
    val foldRdd = rdd.fold(0)(_ + _, _ + _)
    foldRdd.collect.foreach(println)
    
  • 结果

55

saveAsTextFile(path)&saveAsSequenceFile(path)&saveAsObjectFile(path)

  • 说明

    将RDD保存为文本文件、序列文件或对象文件至指定路径

  • 示例

    val rdd = sc.parallelize(1 to 10, 2)
    rdd.saveAsTextFile("./files")
    rdd.saveAsSequenceFile("./files")
    rdd.saveAsObjectFile("./files")
    
  • 结果

countByKey

  • 说明

    统计每个key的元素个数

  • 示例

    val rdd = sc.parallelize(Array(("a", 3), ("a", 2), ("c", 4), ("b", 3), ("c", 6), ("c", 8)))
    val countRdd = rdd.countByKey()
    countRdd.collect.foreach(println)
    
  • 结果

("a", 2)

("b", 1)

("c", 3)

foreach(func)

  • 说明

    遍历数据集,对每个元素执行指定函数

  • 示例

    val rdd = sc.parallelize(1 to 5)
    rdd.foreach(println)
    
  • 结果

1

2

3

4

5

相关文章

  • Spark-RDD行动算子

    reduce(func) 说明通过func函数聚合RDD中所有元素,先聚合分区内元素,再聚合分区间元素 示例val...

  • Spark-RDD算子

    map 说明 通过指定变换函数将原有RDD中的元素逐个进行变换,并返回一个新的RDD 示例 结果 246810 ...

  • 2020-11-29-Spark-8(Spark-Core)

    1.常用行动算子 2.辨析aggregateByKey(转换算子) aggregate(行动算子) (注意初始...

  • Spark 算子源码解析

    Spark 的算法可以分为转换算子和行动算法。如果更细致划分可以分为创建算子,转换算子,控制算子和行动算子。 Sp...

  • spark-RDD算子操作分类

    RDD算子操作分类 测试用例说明 前置方法 后置方法 成员变量 1.taansformation(转换) 它可以实...

  • Action行动算子

    前言 在spark中,有两种算子,Transformation转换算子和 Action行动算子。Transform...

  • Spark 行动算子源码分析

    Spark 行动算子源码分析 action算子都是直接调用sc.runJob(this, func _), 在调用...

  • RDD算子

    一、RDD算子简介 RDD算子分为两类:Transformation(转换)与Action(行动)Transfor...

  • RDD 算子分类

    摘要: 本文主要介绍Spark算子的作用,以及算子的分类。 转换:Transformation , 行动: Act...

  • RDD常见算子

    RDD算子的分类 RDD算子从对数据操作上讲,大致分为两类: 转换(transformations)和行动(act...

网友评论

      本文标题:Spark-RDD行动算子

      本文链接:https://www.haomeiwen.com/subject/dwbgqktx.html