Advertisement

[scala-spark]RDD转换操作

阅读量:

RDD为数据处理系统提供了一系列丰富多样的功能模块,在数据流处理方面主要包括映射(map)、合并映射(flatMap)和过滤(filter)等多种数据转换方法;此外还包含关键-值对聚合(conutByKey)、保存为文本文件(SaveAsTextFile)等多种关键数据行动方法。本节仅限于概述这些核心数据处理功能中的转换方法。

  • map

通过map操作会对RDD中的每一个元素依次应用指定的函数来生成一个新的RDD,并且在该操作过程中保持了RDD之间元素的一一对应关系

复制代码
 val rdd1: RDD[Int] = sc.parallelize(1 to 9, 3)

    
 val rdd2: RDD[Int] = rdd1.map(_ * 2)
    
 printResult("map", rdd2)
    
 // 结果:map >> List(2, 4, 6, 8, 10, 12, 14, 16, 18)
  • flapMap

flatMap与map类似,在于它们均会对输入数据进行处理并生成新的数据集;唯一的区别在于flatMap中每个输入元组会被映射为零到多个输出元组(即其返回结果不是单个元素而是序列对象),而传统map操作则仅生成单一对应的关系;此外,在这种情况下两个RDD之间存在一对多的关系结构

复制代码
  
    
 val 

全部评论 (0)

还没有任何评论哟~