我正在尝试使用Sqoop将数据从HDFS导出到Postgresql。但是,我部分通过导出收到了一个错误,它无法解析输入。我手动进入要导出的文件,发现该行缺少两列。我已经使用Sqoop命令尝试了很多不同的参数,但是无法使其正常工作。这是我到目前为止所运行的:
sqoop export --connect jdbc:postgresql://localhost:5432/XX -username
XX -password XX --table XX --input-fields-terminated-by
"\t" --input-lines-terminated-by "\n" --input-null-string '\n' --input-null
non-string '\n' -m 1 --export-dir /user/dan/output
我也尝试了不使用“--input-null-string”和“--input-null-non-string” args的情况,并得到了相同的结果。我的表有6列,并且我正在读取的文件具有制表符分隔的值,如果所有6列都在其中,则将这些值插入表中。任何帮助,将不胜感激。
最佳答案
我通过更改reduce函数解决了该问题,以便在没有正确数量的字段可输出某个值的情况下,可以使用带有该值的--input-null-non-string,并且该字符串可以正常工作。
关于sql - 数据丢失的Sqoop导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30867884/