如何在“sqoop export”中使用复合键来更新记录?

时间:2018-04-30 09:37:30

标签: sql oracle hadoop sqoop

我正在使用sqoop export命令从hive中嵌入(更新和插入)Oracle SQL Server中的记录。为此,我在hadoop中使用以下命令:

hadoop jar sqoop-job-launcher-0.0.1.jar com.myclass.sqoop.SqoopLauncher sqoop export --connect 'SQLconnectionString' --table 'SQLtableName' --update-mode allowinsert --update-key roll --hcatalog-database 'HiveDatabaseName' --hcatalog-table 'hiveTableName' --input-null-string null

只使用主键时,上面的命令运行正常('roll'是上面的主键)。但是,如果我需要使用一组键来更新SQL中的记录,例如“name,roll”,那该怎么办呢?

1 个答案:

答案 0 :(得分:0)

从sqoop 1.4.0开始,可以将逗号分隔的列表指定为udate_key:https://issues.apache.org/jira/browse/SQOOP-313

对旧版本使用concat(name,roll),或在表格中创建其他合成PK。