我试图运行一个sqoop作业以将数据从Postgresql提取到hdfs,但是我陷入了困境。
Sqoop在我的“ WHERE ”语句的末尾添加“ AND(1 = 0)”,以在提取之前获取元数据。
sqoop import
--connect jdbc:postgresql://randomtexthere.com:5432/test
--username user
-P
--query
"
SELECT *
FROM table1 pr
INNER JOIN
table2 fr
ON pr.id = fr.id
WHERE fr.another_id > 12345 AND fr.another_id < 123456 AND \$CONDITIONS
"
--hcatalog-database test
--hcatalog-storage-stanza "STORED AS ParqUET"
--hcatalog-table table1--split-by id
一旦添加了以上命令,查询就永远不会完成。 (都在Sqoop和DBeaver中)
但是,只有当我将SET OPTIMIZER = ON设置为ON(在DBeaver中)后,此查询才起作用
SET OPTIMIZER = ON;
SELECT *
FROM table1 pr
INNER JOIN
table2 fr
ON pr.id = fr.id
WHERE fr.another_id > 12345 AND fr.another_id < 123456 AND (1=0);
我正在寻找在sqoop会话中设置优化程序参数的解决方案。
有办法吗?