相关疑难解决方法(0)

Spark:查找RDD的每个分区大小

找到给定RDD的每个分区大小的最佳方法是什么.我正在尝试调试偏斜的分区问题,我试过这个:

l = builder.rdd.glom().map(len).collect()  # get length of each partition
print('Min Parition Size: ',min(l),'. Max Parition Size: ', max(l),'. Avg Parition Size: ', sum(l)/len(l),'. Total Partitions: ', len(l))
Run Code Online (Sandbox Code Playgroud)

它适用于小型RDD,但对于更大的RDD,它会产生OOM错误.我的想法是glom()导致这种情况发生.但无论如何,只是想知道是否有更好的方法来做到这一点?

apache-spark apache-spark-sql pyspark spark-dataframe

9
推荐指数
2
解决办法
5776
查看次数

需要了解 Dataframe Spark 中的分区细节

我正在尝试根据查询从 DB2 数据库中读取数据。查询的结果集大约有 20 - 4000 万条记录。DF 的分区是基于整数列完成的。

我的问题是,一旦加载数据,如何检查每个分区创建了多少记录。基本上我想检查的是数据倾斜是否发生?如何检查每个分区的记录数?

apache-spark apache-spark-sql spark-dataframe

5
推荐指数
2
解决办法
8070
查看次数