在 PySpark RDD 中,如何使用 foreachPartition() 打印出每个分区的第一条记录?
Posted
技术标签:
【中文标题】在 PySpark RDD 中,如何使用 foreachPartition() 打印出每个分区的第一条记录?【英文标题】:In PySpark RDD, how to use foreachPartition() to print out the first record of each partition? 【发布时间】:2017-09-04 04:02:15 【问题描述】:在 PySpark RDD 中,如何使用foreachPartition()
打印出每个分区的第一条记录?
【问题讨论】:
【参考方案1】:你可以这样做:
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
【讨论】:
以上是关于在 PySpark RDD 中,如何使用 foreachPartition() 打印出每个分区的第一条记录?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Pyspark 组合两个 Dstream(类似于普通 RDD 上的 .zip)