如何在pyspark中查看RDD中每个分区的内容?
Posted
技术标签:
【中文标题】如何在pyspark中查看RDD中每个分区的内容?【英文标题】:How to see the contents of each partition in an RDD in pyspark? 【发布时间】:2015-12-11 04:54:55 【问题描述】:我想进一步了解 pyspark 如何对数据进行分区。我需要一个这样的函数:
a = sc.parallelize(range(10), 5)
show_partitions(a)
#output:[[0, 1], [2, 3], [4, 5], [6, 7], [8, 9]] (or however it partitions)
【问题讨论】:
【参考方案1】:glom 函数正是您要寻找的:
glom(self):返回通过将每个分区内的所有元素合并到一个列表中创建的 RDD。
a = sc.parallelize(range(10), 5)
a.glom().collect()
#output:[[0, 1], [2, 3], [4, 5], [6, 7], [8, 9]]
【讨论】:
【参考方案2】:val data = List((1,3),(1,2),(1,4),(2,3),(3,6),(3,8))
val rdd = sc.parallelize(data)
rdd.glom().collect()
.foreach(a =>
a.foreach(println);
println("====="))
这样可以查看数据是如何分区的
【讨论】:
以上是关于如何在pyspark中查看RDD中每个分区的内容?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 pyspark rdd 或分区中确定原始 s3 输入文件名