reduce(func)
对RDD进行聚合操作
>>> rdd = sc.parallelize([1, 2, 3, 4, 5])
>>> rdd.reduce(lambda x,y:x+y)
15
collect()
获取RDD的数据
>>> rdd = sc.parallelize([1, 2, 3, 4, 5])
>>> rdd.collect()
[1, 2, 3, 4, 5]
count()
获取RDD的数据个数
>>> rdd = sc.parallelize([1, 2, 3, 4, 5])
>>> rdd.count()
5
first()
获取RDD的第一个元素
>>> rdd = sc.parallelize([1, 2, 3, 4, 5])
>>> rdd.first()
1
take(n)
获取RDD的前n个元素
>>> rdd = sc.parallelize([1, 2, 3, 4, 5])
>>> rdd.take(3)
[1, 2, 3]
takeSample(withReplacement, num, [seed])
withReplacement:是否重复取样
num:取样数
seed:随机种子
>>> rdd = sc.parallelize([1, 2, 3, 4, 5])
>>> rdd.takeSample(True,4,12)
[5, 5, 5, 1]
>>> rdd.takeSample(False,4,12)
[1, 2, 5, 3]
takeOrdered(n, [ordering])
返回RDD中最小的k个元素
>>> rdd = sc.parallelize([1, 2, 3, 4, 5])
>>> rdd.takeOrdered(3)
[1, 2, 3]
saveAsTextFile(path)
saveAsTextFile会按照执行task的多少生成多少个文件,比如part-00000一直到part-0000n,n自然就是task的个数,亦即是最后的stage的分区数
>>> rdd = sc.parallelize([1, 2, 3, 4, 5])
>>> rdd.saveAsTextFile("/home/taoke/a.txt")
saveAsSequenceFile(path)
(Java and Scala)
saveAsObjectFile(path)
(Java and Scala)
countByKey()
统计key的出现次数
>>> rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
>>> sorted(rdd.countByKey().items())
[('a', 2), ('b', 1)]
foreach(func)
迭代每个rdd内的数据,并执行func函数
>>> rdd = sc.parallelize([1, 2, 3, 4, 5])
>>> rdd.foreach(f)
1
2
3
4
5
Spark RDD操作详解
本文详细介绍了Spark中RDD的各种操作,包括聚合操作reduce、获取数据collect、计数count、获取首个元素first、获取前n个元素take、随机采样takeSample、获取最小k个元素takeOrdered、保存为文本文件saveAsTextFile、统计key出现次数countByKey、迭代执行函数foreach等,通过实例展示了每种操作的使用方法。
1248

被折叠的 条评论
为什么被折叠?



