使用 PySpark 的大数据基础
Upendra Devisetty
Science Analyst, CyVerse


基本 RDD 转换
map(), filter(), flatMap(), union()
RDD = sc.parallelize([1,2,3,4])
RDD_map = RDD.map(lambda x: x * x)

RDD = sc.parallelize([1,2,3,4])
RDD_filter = RDD.filter(lambda x: x > 2)

RDD = sc.parallelize(["hello world", "how are you"])
RDD_flatmap = RDD.flatMap(lambda x: x.split(" "))

inputRDD = sc.textFile("logs.txt")
errorRDD = inputRDD.filter(lambda x: "error" in x.split())
warningsRDD = inputRDD.filter(lambda x: "warnings" in x.split())
combinedRDD = errorRDD.union(warningsRDD)
在 RDD 上运行计算后返回一个值的操作
基本 RDD 动作
collect()
take(N)
first()
count()
collect() 将数据集的所有元素作为数组返回
take(N) 返回包含前 N 个元素的数组
RDD_map.collect()
[1, 4, 9, 16]
RDD_map.take(2)
[1, 4]
RDD_map.first()
[1]
RDD_flatmap.count()
5
使用 PySpark 的大数据基础