[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)
还没有任何评论哟~
