使用 PySpark 的大数据基础
Upendra Devisetty
Science Analyst, CyVerse
reduce(func) 动作用于聚合常规 RDD 的元素
该函数应为可交换(改变操作数顺序不影响结果)且可结合
PySpark 中 reduce() 动作示例
x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
14
saveAsTextFile() 动作将 RDD 保存为目录中的文本文件,每个分区一个文件RDD.saveAsTextFile("tempFile")
coalesce() 将 RDD 作为单个文本文件保存RDD.coalesce(1).saveAsTextFile("tempFile")
适用于 PySpark 键值对 RDD 的动作
键值对 RDD 动作利用键-值数据
示例
countByKey()
collectAsMap()
countByKey() 仅适用于类型 (K, V)
countByKey() 统计每个键的元素数量
简单列表上的 countByKey() 示例
rdd = sc.parallelize([("a", 1), ("b", 1), ("a", 1)])
for kee, val in rdd.countByKey().items():
print(kee, val)
('a', 2)
('b', 1)
collectAsMap() 将 RDD 的键值对返回为字典
简单元组上的 collectAsMap() 示例
sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
使用 PySpark 的大数据基础