1、sqoop导数时,添加额外的配置参数
sqoop export -Dorg.apache.sqoop.export.text.dump_data_on_error=true \
--username ${USERNAME} \
......#其他的配置
-Dorg.apache.sqoop.export.text.dump_data_on_error=true
该配置可以让你在导数出错的时候将导致错误的具体数据展示出来
2、进入正确的log目录
进入失败的map或者reduce任务log
3、分析日志和HDFS文件数据
补充:如何查看hdfs文件指定偏移量的数据以及不可见字符
因为web界面上我们只能看到数据,但是数据的分隔符或者制表符等,是不可见的,所以我们可能需要直接打开错误的数据文件
1、可以先将hdfs get下来,比如我们这次的错误数据在
On input file: /user/hive/warehouse/xxxxxxxx/op_month=202108/000002_0
hdfs dfs -get /user/hive/warehouse/xxxxxxxx/op_month=202108/000002_0
#换成你们自己的hdfs路径
2、使用dd命令,读取指定偏移量的数据
dd if=000002_0 of=out.txt skip=105991165 ibs=1 obs=1 count=1024
#解释:将000002_0中偏移量从105991165开始的数据截取1024个字节存放到out.txt
#ibs=bytes:用于定义输入块的大小,一次读入bytes个字节,即指定一个块大小为bytes个字节。
#obs=bytes:用于定义输出块的大小,一次输出bytes个字节,即指定一个块大小为bytes个字节。
#bs=bytes:同时设置读入/输出的块大小,为bytes个字节。
#skip=blocks,跳过一段以后才输入,是在备份时对if 后面的部分也就是原文件跳过多少块再开始备份;
#seek=blocks,跳过一段以后才输出,则是在备份时对of 后面的部分也就是目标文件跳过多少块再开始写。
#count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
3、查看数据
cat -A out.txt
通过cat -A ,我们可以将一些特殊符号也显示出来
原文链接:https://blog.csdn.net/Lvbey/article/details/119869303