如果你能帮我解决我的问题,那就太有帮助了。
在我的项目需求中,我必须在microsoftazure(基于云的平台)的datalake存储中存储具有特定名称的文件。在对hdinsight cluster中加载的文件创建的Dataframe执行任何转换或操作后,当我将Dataframe写入任何特定文件夹时,它将以名称“part-00000-x”存储,即以hadoop格式存储。
但是,由于我有大量的文件,所以我不能进入为每个文件创建的文件夹中,每次根据我的要求重命名相同的文件。
那么,你能帮帮我吗?
注意:在存储文件后,我们可以将文件复制到另一个文件夹,在复制时,我们可以给出任何我们想要的名称。但我不想要这个解决方案。我想在处理后将文件写回我的存储器(datalakestore)时为它提供一个特定的名称。
1条答案
按热度按时间wwwo4jvm1#
您可以提供multipleoutputformat类的子类来控制文件名的模式,但这需要使用java,因为您不能使用流api编写outputFormat。
另一种选择可能是使用azure存储客户机进行合并,并在作业结束后重命名输出文件。