更改Azure HDInsight中的输出文件名

更改Azure HDInsight中的输出文件名,azure,file-format,azure-hdinsight,Azure,File Format,Azure Hdinsight,使用,我正在使用Azure HDInsight进行一些日志文件解析。将输出文件格式从part-xxxxx更改为与输入文件名相关的内容似乎很简单,而且文档也很少 根据我所看到的一般情况,这似乎不是一个我可以根据模板更改的设置,该模板可以与.NET SDK中的HadoopJobConfiguration.AdditionalGenericArguments一起输入,但是一些实际的Java代码,这似乎表明,完成此任务的唯一方法是将我的解决方案重新编码为实际的Java类 建议?这是Hadoop的基本功能

使用,我正在使用Azure HDInsight进行一些日志文件解析。将输出文件格式从part-xxxxx更改为与输入文件名相关的内容似乎很简单,而且文档也很少

根据我所看到的一般情况,这似乎不是一个我可以根据模板更改的设置,该模板可以与.NET SDK中的HadoopJobConfiguration.AdditionalGenericArguments一起输入,但是一些实际的Java代码,这似乎表明,完成此任务的唯一方法是将我的解决方案重新编码为实际的Java类


建议?

这是Hadoop的基本功能

Hadoop作业将始终以part-nnnnn格式输出文件,您唯一可以指定的位是它们将进入的baseOutputDirectory路径,因此您当然可以使用该目录将输出与输入关联起来

原因是每个减速器都必须有自己的输出文件

如果您正在Hadoop中对输出进行任何进一步的处理,例如使用Hive,那么这应该不会太困难,因为所使用的InputFormat将为您拾取所有part-nnn文件

也就是说,您可以提供MultipleOutputFormat类的子类来控制文件名的模式,但这需要使用Java,因为您无法使用流API编写OutputFormat

另一种选择可能是使用Azure存储客户端进行合并,并在完成合并后重命名输出文件