如何在sqoop自由格式查询中传递字符串值

时间:2019-04-29 11:57:43

标签: hadoop sqoop

我需要从几个具有相同表,表结构甚至主键值的不同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方式中认为,当您传递硬编码值时,将返回相同的查询结果。任何指针如何做到这一点? 预先感谢。

1 个答案:

答案 0 :(得分:0)

已解决:实际上,它只需要一个硬编码值的别名即可。所以执行的sqoop命令是-

Option