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

hadoop-streaming.jar添加了x';09';在每行的末尾,hadoop,hadoop-streaming,Hadoop,Hadoop Streaming,我正在尝试使用下面的hadoop-streaming.jar命令将一些*_0(HDFS中的部分文件)文件合并到HDFS位置 hadoop jar $HDPHOME/hadoop-streaming.jar -Dmapred.reduce.tasks=1 -input $INDIR -output $OUTTMP/${OUTFILE} -mapper cat -reducer cat 事情进展顺利——除了这一点,我遇到了一些问题,因为上面命令的结果似乎在每一行的末尾添加了x'09' 我们在

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

  hadoop jar $HDPHOME/hadoop-streaming.jar -Dmapred.reduce.tasks=1 -input $INDIR -output $OUTTMP/${OUTFILE}  -mapper cat -reducer cat
事情进展顺利——除了这一点,我遇到了一些问题,因为上面命令的结果似乎在每一行的末尾添加了x'09'

我们在零件文件(用合并文件替换)的顶部定义了配置单元表,其中最后一个字段定义为BIGINT。因为,合并后的文件将x'09'添加到最后一个字段中-tbale的相同定义现在在色调的最后一个字段中显示NULL(因为510408不再是一个数字,因为x'09'被添加到它)

e、 g

零件文件中的数据

00000320  7c 35 31 30 34 30 38 0a                           ||510408.|
合并文件中的数据(上述命令的结果)

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

感谢您抽出时间提供帮助/指点。

我在下面找到了答案-

添加下面的选项似乎可以解决这个问题

-D mapred.textoutputformat.separator=<delimiter-of-input-file>
-D mapred.textoutputformat.separator=
我在下面找到了答案-

添加下面的选项似乎可以解决这个问题

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

x09
是选项卡的特殊字符。什么是Hadoop流的默认字段分隔符?您是否考虑创建Hadoop存档文件(HAR)而不是运行那个笨拙的连接作业——您似乎没有完全控制?@ SAMSON SCHFRICHTELT默认字段分隔符是TAB。我试图将其更改为其他内容(stream.map.output.field.separator),但没有任何效果。@Samson Scharfrichter-使用HAR命令,我只能指向源目录,对吗?是否有一种方法可以使用通配符(比如*_0)选择特定文件,因为其中可能还有其他文件?
x09
是选项卡的特殊字符。什么是Hadoop流的默认字段分隔符?您是否考虑创建Hadoop存档文件(HAR)而不是运行那个笨拙的连接作业——您似乎没有完全控制?@ SAMSON SCHFRICHTELT默认字段分隔符是TAB。我试图将其更改为其他内容(stream.map.output.field.separator),但没有任何效果。@Samson Scharfrichter-使用HAR命令,我只能指向源目录,对吗?是否有一种方法可以使用通配符(比如*_0)选择特定的文件,因为那里可能还有其他文件?