hadoop-streaming.jar 在每行末尾添加 x'09'

hadoop-streaming.jar adds x'09' at the end of each line

我正在尝试使用以下 hadoop-streaming.jar 命令在 HDFS 位置合并一些 *_0(HDFS 中的部分文件)文件。

  hadoop jar $HDPHOME/hadoop-streaming.jar -Dmapred.reduce.tasks=1 -input $INDIR -output $OUTTMP/${OUTFILE}  -mapper cat -reducer cat

一切正常——除此之外,我遇到了问题,因为上述命令的结果似乎在每一行的末尾添加了 x'09'。

我们在部分文件(替换为合并文件)的顶部定义了 Hive 表,其中最后一个字段定义为 BIGINT。因为,合并文件将 x'09' 添加到最后一个字段 - tbale 的相同定义现在在 Hue 的最后一个字段中显示 NULL(因为 510408 不再是数字,因为添加了 X'09')。

例如

零件文件中的数据。

00000320  7c 35 31 30 34 30 38 0a                           ||510408.|

合并文件中的数据(上述命令的结果)

00000320  7c 35 31 30 34 30 38 09  0a                       ||510408..|

如何避免这种情况发生?我可以在命令中设置一些选项来防止这种情况发生吗?

感谢您抽出宝贵时间 help/pointers。

我在这个 post -

中找到了答案

添加以下选项似乎可以解决问题。

-D mapred.textoutputformat.separator=<delimiter-of-input-file>