我正在 Hadoop YARN 集群上运行 Spark 作业。
我正在使用saveAsTextFile()
方法将RDD存储到文本文件。
我可以看到从 250 个文件中创建了 150 多个空零件文件。
有办法避免这种情况吗?
最佳答案
每个分区都写入它自己的文件。空分区将被写入为空文件。
为了避免写入空文件,您可以将 RDD 合并或重新分区为更少数量的分区。
如果您没想到会有空分区,那么可能值得调查一下为什么会有它们。空分区的发生可能是由于过滤步骤删除了某些分区中的所有元素,或者是由于哈希函数错误。如果 RDD 元素的 hashCode()
不能很好地分配元素,则可能会导致不平衡的 RDD 具有空分区。
关于java - Spark on YARN - saveAsTextFile() 方法创建大量空零件文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35266727/