如何在pyspark中查看RDD中每个分区的内容?

时间:2015-12-11 04:54:56

标签: pyspark rdd

我想更多地了解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)

2 个答案:

答案 0 :(得分:6)

您正在寻找glom功能:

  

glom(self):返回通过将每个分区中的所有元素合并到列表中而创建的RDD。

a = sc.parallelize(range(10), 5)
a.glom().collect()
#output:[[0, 1], [2, 3], [4, 5], [6, 7], [8, 9]]

答案 1 :(得分:0)

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("=====")})

这样可以查看数据是如何分区的