有没有办法在Sqoop中设置PostgreSQL Optimizer?

我试图运行一个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会话中设置优化程序参数的解决方案。

有办法吗?

holly00 回答:有没有办法在Sqoop中设置PostgreSQL Optimizer?

在 jdbc 连接中传递优化器提示可以解决问题。

--connect jdbc:postgresql://randomtexthere.com:5432/test?optimizer=true
本文链接:https://www.f2er.com/3168802.html

大家都在问