Hive Union(翻譯自Hive wiki)


Union 語法

select_statement UNION ALL select_statement UNION ALL select_statement ...

UNION用於聯合多個SELECT語句的結果集,合並為一個獨立的結果集。當前只能支持UNION ALL(bag union)。不消除重復行。每個select語句返回的列的數量和名字必須一樣,否則,一個語法錯誤會被拋出。

 

如果必須對UNION的結果做一些額外的處理,整個語句可以被嵌入在FROM子句中,象下面這樣

SELECT *
FROM (
 select_statement
   UNION ALL
 select_statement
) unionResult

 

例如,如果我們假設有兩個不同的表來跟蹤哪個用戶發布視頻哪個用戶發表了評論,以下的查詢結果,聯合所有的用戶表,為用戶所有視頻發布和評論發布事件,創建一個單一的注釋流。

SELECT u.id, actions.date
FROM (
 SELECT av.uid AS uid  FROM action_video av  WHERE av.date = '2008-06-03' 
  UNION ALL 
 SELECT ac.uid AS uid  FROM action_comment ac  WHERE ac.date = '2008-06-03' 
) actions 
JOIN users u ON (u.
id = actions.uid)

翻譯自 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Union


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM