我需要从几个具有相同表,表结构甚至主键值的不同SQL服务器中导入数据。因此,要唯一标识从SQLserver提取的记录说“ S1”,我想再增加一列-在我的配置单元表中说“ serverName”。我应该如何在我的sqoop自由格式查询中添加此内容。
我要做的就是传递一个硬编码的值以及列列表,这样硬编码的列值应该存储在Hive中。完成后,我可以根据服务器数据动态更改此值。
sqoop import --connect "connDetails" --username "user" --password "pass" --query "select col1, col2, col3, 'S1' from table where \$CONDITIONS" --hive-import --hive-overwrite --hive-table stg.T1 --split-by col1 --as-textfile --target-dir T1 --hive-drop-import-delims
S1 是此处的硬编码值。我在SQL方式中认为,当您传递硬编码值时,将返回相同的查询结果。任何指针如何做到这一点? 预先感谢。
答案 0 :(得分:0)
已解决:实际上,它只需要一个硬编码值的别名即可。所以执行的sqoop命令是-
Option