在 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() 打印出每个分区的第一条记录?的主要内容,如果未能解决你的问题,请参考以下文章