欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spark Transformation

程序员文章站 2024-03-05 18:10:25
...

Transformations——转换

从之前的RDD构建一个新的RDD, 像map() 和filter()

 

逐元素Transformation

map()

map接收函数, 把函数应用到RDD的每一个元素,返回新的RDD

例子:

val lines = sc.parallelize(Array(1,2,3,4,5),5)
lines.foreach(println)
val lines2 = lines.map(x => x * 2)
lines2.foreach(println)

Spark Transformation

 

Filter()

filter接收函数,返回只包含满足filter()函数的元素的新RDD

例子

val lines = sc.parallelize(Array(1,2,3,4,5),5)
val lines3 = lines.filter(x => {x % 2 == 0})
lines3.foreach(println)

Spark Transformation

 

flatMap()

flatMap() 对每个输入元素, 输出多个输出元素

flat压扁的意思, 将RDD中元素压扁后返回一个新的RDD,简单理解 将RDD的每个元素的序列拆分

例子

val input = sc.parallelize(Array("hello world", "hello java", "hello scala"))
val words = input.flatMap(line => {line.split(" ")})
words.foreach(println)

Spark Transformation

 

集合运算:

     RDDs支持数据集合的计算, 例如并集、交集

去重:

val rdd1 = sc.parallelize(Array(1,1,2,3))
rdd1.distinct().foreach(println)

Spark Transformation

并集、交集、差集:

rdd1.union(rdd2).foreach(println)
rdd1.intersection(rdd2).foreach(println)
rdd1.subtract(rdd2).foreach(println)

Spark Transformation

相关标签: spark

上一篇: Different is Good

下一篇: D. Good Triple