在两个Rdd上使用并集后无法将Pyspark作业结果保存到单个文本文件中

问题描述 投票:-1回答:1

我有一个文本作为数据源文件,没有标题行,我对rdd进行了一些转换。之后,我使用parallelize创建了一个标题rdd,并与两个rdd进行了并集。我使用saveasTextfile将结果保存到文本文件中。不幸的是,该文件另存为2个文件,一个用于标题,另一个用于值。我如何将这两个Rdd保存为单个文件。

python python-3.x apache-spark pyspark rdd
1个回答
1
投票

检查RDD中的分区数,如果大于1,则必须将分区coalesce划分为一个。通常,此操作比保存到多个文件中要慢,因为并行保存不适用于coalesce(1)设置。


# Check number of partitions in rdd
print(data.rdd.getNumberPartitions())

# Coalesce it, this function adjust the number partition count.
data.rdd.coalesce(1).saveAsTextFile("./your_file")

© www.soinside.com 2019 - 2024. All rights reserved.