我正在尝试运行一个sqoop作业,将postgresql中的数据摄取到hdfs中,但我在某些方面遇到了问题。
sqoop将“and(1=0)”添加到“where”语句的末尾,以便在摄取之前获取元数据。
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中)
但是,这个查询只在我将optimizer=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会话中设置优化器参数。
有办法吗?
暂无答案!
目前还没有任何答案,快来回答吧!