更多操作

使用 PySpark 的大数据基础

Upendra Devisetty

Science Analyst, CyVerse

reduce() 动作

  • reduce(func) 动作用于聚合常规 RDD 的元素

  • 该函数应为可交换(改变操作数顺序不影响结果)且可结合

  • PySpark 中 reduce() 动作示例

x = [1,3,4,6]
RDD = sc.parallelize(x)
RDD.reduce(lambda x, y : x + y)
14
使用 PySpark 的大数据基础

saveAsTextFile() 动作

  • saveAsTextFile() 动作将 RDD 保存为目录中的文本文件,每个分区一个文件
RDD.saveAsTextFile("tempFile")
  • 可用 coalesce() 将 RDD 作为单个文本文件保存
RDD.coalesce(1).saveAsTextFile("tempFile")
使用 PySpark 的大数据基础

键值对 RDD 的动作操作

  • 适用于 PySpark 键值对 RDD 的动作

  • 键值对 RDD 动作利用键-值数据

  • 示例

    • countByKey()

    • collectAsMap()

使用 PySpark 的大数据基础

countByKey() 动作

  • 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)
使用 PySpark 的大数据基础

collectAsMap() 动作

  • collectAsMap() 将 RDD 的键值对返回为字典

  • 简单元组上的 collectAsMap() 示例

sc.parallelize([(1, 2), (3, 4)]).collectAsMap()
{1: 2, 3: 4}
使用 PySpark 的大数据基础

让我们练习

使用 PySpark 的大数据基础

Preparing Video For Download...