如果你能解决我的问题,那将会非常有帮助。
在我的项目要求中,我必须在Microsoft Azure(基于云的平台)的Data Lake Store中存储具有某个特定名称的文件。在对HDInsight群集中加载的文件创建的数据帧执行任何转换或操作后,当我将数据帧写入任何特定文件夹时,它将以名称“part-00000-xxxx”存储,即以hadoop格式存储。
但是,由于我拥有大量文件,所以我无法进入每个文件的创建文件夹,并且每次都重命名特定于我的要求。
那么,请你帮帮我吗?
注意:存储文件后,我们可以将文件复制到另一个文件夹,复制时我们可以给出任何我们想要的名称。但我不想要这个解决方案。我想在处理后将文件写回我的存储(Data Lake Store)时为文件提供一个特定的名称。
答案 0 :(得分:0)
您可以提供MultipleOutputFormat类的子类来控制文件名的模式,但这需要使用Java,因为您无法使用流API编写OutputFormats。
另一个选项可能是使用Azure存储客户端进行合并,并在作业结束后重命名输出文件。