Python 我面临pyspark2.2 csv编写器输出的问题
我想将pyspark代码从1.6迁移到2.x。在1.6中,我使用了语法Python 我面临pyspark2.2 csv编写器输出的问题,python,pyspark,apache-spark-2.2,Python,Pyspark,Apache Spark 2.2,我想将pyspark代码从1.6迁移到2.x。在1.6中,我使用了语法 input_df.repartition(number_of_files) \ .write.mode(file_saveMode) \ .format(file_format) \ .option("header", "true") \ .save(nfs_path) 正在以以下格式获取输出 第00000部分 第00001部分 。 我在pyspark2.2中运行了相同的代码,它给了我不同
input_df.repartition(number_of_files) \
.write.mode(file_saveMode) \
.format(file_format) \
.option("header", "true") \
.save(nfs_path)
正在以以下格式获取输出
第00000部分
第00001部分
。
我在pyspark2.2中运行了相同的代码,它给了我不同的部件文件名
零件-00000-2feefae7-47d7-4f1a-ade6-7dbd07f42f54-c000.csv
零件-00001-2feefae7-47d7-4f1a-ade6-7dbd07f42f54-c000.csv
然后我按照2.x修改代码
input_df.repartition(number_of_files) \
.write.mode(file_saveMode) \
.option("header", "true") \
.csv(nfs_path)
但结果还是一样
零件-00000-2feefae7-47d7-4f1a-ade6-7dbd07f42f54-c000.csv
有人能解释为什么会发生这种情况吗?输出文件的确切名称从未得到保证,因此这不是一个突破性的更改。为什么这对您来说是个问题?我的其他进程依赖于这些精确的输出。spark1.6中的情况并非如此,每次我都发现了相同的结果。如果这是spark2.2中的默认行为,我需要在依赖进程中进行更改。