use*_*179 9 hadoop apache-spark rdd pyspark
我从HDFS获取数据并将其存储在Spark RDD中.Spark根据HDFS块的数量创建分区数.这导致大量空的分区也在管道期间被处理.为了消除这种开销,我想过滤掉RDD中的所有空分区.我知道合并和重新分区,但不能保证将删除所有空分区.
还有其他方法可以解决这个问题吗?
没有一种简单的方法可以简单地从 RDD 中删除空分区。
coalesce不保证会删除空分区。如果你的 RDD 有 40 个空白分区和 10 个有数据的分区,那么rdd.coalesce(45).
该repartition方法将数据均匀地拆分到所有分区上,因此不会有任何空分区。如果你有一个 RDD 有 50 个空白分区和 10 个分区有数据并运行rdd.repartition(20),数据将平均分配到 20 个分区。
| 归档时间: |
|
| 查看次数: |
3529 次 |
| 最近记录: |