sql - 数据丢失的Sqoop导出

标签 sql postgresql shell hadoop sqoop

我正在尝试使用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/

相关文章:

sql - 限制 LEFT JOIN

MySQL 首选项 Pane 和登录错误

c# - 在 Excel 上执行多个更新命令

sql - 根据 Postgresql 中的连接设置其他表的值?

python - 我可以使用 SQLAlchemy 使用聚合表达式吗?

sql - oracle db中number字段的查询

mysql - 将时间戳从 MySQL 导入到 Postgres

python - 将python脚本的返回值捕获到shell脚本中

macos - 文件名与通配符比较

linux - 我的 Makefile 中的 Bash 命令 ID 不起作用