本文主要演示如何通过Python对Spark的RDD进行编程,只列出了一些常用的RDD操作接口,完整的功能,请参考官方文档
- Transformation 操作
- map : map是对RDD中的每个元素都执行一个指定的函数来产生一个新的RDD。任何原RDD中的元素在新RDD中都有且只有一个元素与之对应。
样例:
>>> templist=[1,2,3,4,5,6]
>>> rdd=sc.parallelize(templist)
>>> result=rdd.map(lambda x:x*3)
>>> result.collect()
[3, 6, 9, 12, 15, 18]
- filter:filter是通过指定的函数对已有的RDD做过滤操作,只有符合条件的元素才会被放到新的RDD中
样例:
>>> templist=[1,2,3,4,5,6]
>>> rdd=sc.parallelize(templist)
>>> result=rdd.filter(lambda x:x%2==0)
>>> result.collect()
[2, 4, 6]
- flatMap :