我正在尝试使用下面的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'被添加到它中)。
e.g。
零件文件中的数据。
00000320 7c 35 31 30 34 30 38 0a ||510408.|
合并文件中的数据(上述命令的结果)
00000320 7c 35 31 30 34 30 38 09 0a ||510408..|
如何避免这种情况发生?我可以在命令中设置一些选项来防止这种情况吗?
感谢您抽出任何帮助/指针的时间。
答案 0 :(得分:0)