【发布时间】:2015-12-29 09:21:57
【问题描述】:
我从 SQL 服务器导入并使用以下查询创建了一个配置单元表。
sqoop import --connect 'jdbc:sqlserver://10.1.1.12;database=testdb' --username uname --password paswd --table demotable --hive-import --hive-table hivedb.demotable --create-hive-table --fields-terminated-by ','
命令成功,导入数据并创建了10000条记录的表。
我在 SQL Server 中插入了 10 条新记录,并尝试使用 --where 子句将这 10 条记录附加到现有的 hive 表中
sqoop import --connect 'jdbc:sqlserver://10.1.1.12;database=testdb' --username uname --password paswd --table demotable --where "ID > 10000" --hive-import -hive-table hivedb.demotable
但是 sqoop 作业因错误而失败
ERROR tool.ImportTool:导入时出错:导入作业失败!
我哪里错了?使用 sqoop 插入表的任何其他替代方法。
编辑: 稍微更改上述命令后,我就可以追加新行了。
sqoop import --connect 'jdbc:sqlserver://10.1.1.12;database=testdb' --username uname --password paswd --table demotable --where "ID > 10000" --hive-import -hive-table hivedb.demotable --fields-terminated-by ',' -m 1
虽然它解决了上述问题,但我无法插入修改后的行。有没有办法在不使用的情况下插入修改后的行 --增量 lastmodified 参数。
【问题讨论】:
-
您能否使用 --verbose 运行并获得正确的错误消息。?