我正在編寫一個配置單元查詢來加入兩個表; table1和table2。在結果中,我只需要table1中的所有列和table2中的任何列。Hive加入查詢以僅列出來自一個表的列
我知道解決方案,我可以通過在select語句中指定table1.column1,table1.column2等手動選擇所有列。但是我在表1中有大約22列。另外,我必須爲其他多個表和其痛苦的過程執行相同的操作。
我試過使用「SELECT table1。*」,但我得到一個解析異常。
有沒有更好的方法來做到這一點?
我正在編寫一個配置單元查詢來加入兩個表; table1和table2。在結果中,我只需要table1中的所有列和table2中的任何列。Hive加入查詢以僅列出來自一個表的列
我知道解決方案,我可以通過在select語句中指定table1.column1,table1.column2等手動選擇所有列。但是我在表1中有大約22列。另外,我必須爲其他多個表和其痛苦的過程執行相同的操作。
我試過使用「SELECT table1。*」,但我得到一個解析異常。
有沒有更好的方法來做到這一點?
蜂巢0.13起以下查詢語法的工作原理:
SELECT a.* FROM a JOIN b ON (a.id = b.id)
該查詢將從選擇所有列。因此,而不是鍵入所有的列名(使查詢繁瑣),使用tablealias是一個更好的主意。*
儘管這可能是解決方案,但最好詳細解釋爲什麼這會起作用並解決問題,並且可能會舉一個例子,以便將來遇到此答案的讀者完全知道它的作用。 –
原始問題指向解析「SELECT table1。*」中的異常,但我得到一個解析異常。 這可能是由於使用低於0.13的以前的蜂巢版本 –
你能幫助我嗎?你說你加入兩個表table1和table2,然後你說你想要table1中的所有列和table2中沒有列。 那麼你爲什麼加入? –
可能是我很困惑,但你能幫我理解你的問題嗎? –
你應該可以做一個table1。*,你可以提供堆棧嗎? – hlagos