【发布时间】:2017-09-04 04:02:15
【问题描述】:
在 PySpark RDD 中,如何使用foreachPartition() 打印出每个分区的第一条记录?
【问题讨论】:
标签: apache-spark pyspark rdd
在 PySpark RDD 中,如何使用foreachPartition() 打印出每个分区的第一条记录?
【问题讨论】:
标签: apache-spark pyspark rdd
你可以这样做:
def f(iterator):
print(iterator.next())
或
def f(iterator):
print(list(iterator)[0])
然后,您可以将上述函数之一应用于 RDD,如下所示:
rdd1 = sc.parallelize([1, 2, 3, 4, 5])
rdd1.foreachPartition(f)
请注意,这将打印在每个 spark 工作人员中,因此您应该访问工作人员的日志以查看结果。
有关更多信息,请查看文档here
【讨论】: