我需要在另一個蜂房查詢中通過直線將蜂巢查詢的輸出用作變量。因此,像將變量設置爲通過直線動態查詢
select * from 123 where some_variable='select abc from xyz';
但是蜂房不支持在where子句,所以我反而會做它通過一個shell命令的子查詢。這是很容易的使用標準蜂巢CLI,我只想做這樣的事情:
my_shell_var=$(hive -S -e "select abc from xyz;")
然後我會運行:
hive -e "select * from 123 where some_variable=$my_shell_var;"
然而直線輸出包括邊框所以my_shell_var被包圍作爲這樣
+------+ some output +------+
所以我不能將它插回到下一個查詢中,因爲額外的字符會改變我的字符串。有沒有一種方法可以從直線輸出中刪除邊界,或者是否有另一種方法來完成我想要完成的任務?
Hive不支持在子句 – user3124181
中的子查詢它從hive 0.13 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+SubQueries – hlagos
啊有趣的是,它只支持IN,NOT IN ,EXISTS和NOT EXISTS我曾使用'=',但沒有奏效。 – user3124181