我正在尝试将数据框保存到特定位置。
successDF.toJavaRDD().saveAsTextFile(successFilePath);
在这里,successFilePath是:/hdfs/tmp/20200102/04.dat
我需要将文件名保存为04.dat的数据,其中20200102和04将作为参数来使用
但是该过程将创建多个文件,如下所示:
Folder: /hdfs/tmp/20200102/04.dat
Files:
._SUCCESS.crc
.part-00000.crc
_SUCCESS
part-00000
我的要求是,输出文件应在/ hdfs / tmp / 20200102中创建,并且文件夹下的文件名应为1个文件:04.dat
N.B。我正在使用Spark Java
请提出建议
这里要求将数据从RDD的所有分区收集到单个RDD,然后另存为输出。
代码看起来像
successDF.toJavaRDD().coalesce(1, shuffle = true).saveAsTextFile(successFilePath);