我没有找到更改胶水作业生成的文件名的方法。 它创建名为“ run-xxxxx”的文件,但我想修改该文件并使用特定名称。这可能吗? PD:我使用的是Python脚本(不是scala)
答案 0 :(得分:1)
Spark(以及Hadoop生态系统的所有其他工具)使用文件名作为并行读写的手段。 spark作业将在文件夹中生成与其RDD / Dataframe中的分区一样多的文件(通常命名为part-XXX
。将Spark指向新的数据源(S3,本地FS或HDFS)时,您始终会指向到包含所有part-xxx
文件的文件夹。
我不知道您使用的是哪种工具,但是如果它取决于文件名约定,那么在Spark会话结束后,您必须(使用FS客户端)重命名文件(可以是在驱动程序的代码中完成)。请注意,spark可能(通常确实)会产生多个文件。您可以通过在DataFrame / RDD上调用coalesc
来克服这一问题。