有没有办法从sqoop中的文件执行自由格式查询?

时间:2018-07-17 14:47:31

标签: hadoop sqoop hadoop2 sqoop2

已执行了如下所示的类似的sqoop命令。下面提到的自由格式查询,我想将其保存在一个文件中并运行sqoop命令,因为我的实时查询非常复杂且更大。

想知道,有没有一种方法可以将查询保留在文件中并执行sqoop命令,该命令将引用文件内的自由格式查询并执行? 就像我们对--password-file的情况一样。预先感谢。

sqoop  import --connect "jdbc:mysql://<localhost>:port" --username "admin" --password-file "<passwordfile>" --query "select * from employee" --split-by employee_id --target-dir "<target directory>" --incremental append --check-column employee_id --last-value 0 --fields-terminated-by "|" 

1 个答案:

答案 0 :(得分:1)

为方便起见,可以使用Sqoop --options-file参数读取不方便输入命令的命令行选项,因此您可以使用选项文件读取查询。使用选项文件,Sqoop命令应与此类似:

sqoop import --connect $connect_string --username $username --password $pwd --options-file /home/user/sqoop_poc/query.txt --target-dir $target_dir --m 1

选项文件中的条目应如下所示:

--query select * from TEST_OPTION where ID <= 10 AND $CONDITIONS

有关选项文件的更多详细信息,请参见Sqoop User Guide