您好,登錄后才能下訂單哦!
這篇文章主要講解了“Hive HQL支持的查詢語句風格有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Hive HQL支持的查詢語句風格有哪些”吧!
在平時業務運營分析中經常會提取數據,也就是大家俗稱的Sql Boy,表哥表姐,各大公司數據中臺現在大部分用的都是基于Hadoop的分布式系統基礎架構,用的比較多的有Hive數據倉庫工具,數據分析師在數據查詢時用的就是HQL,語法與Mysql有所不同,基本每天都會寫大量的HQL語句,但你有試過哪些風格的寫法呢?哪種風格的查詢語句更容易理解呢?可能不同的人有不同的看法,下面展示具體的風格代碼樣式,看看你喜歡哪種
Hadoop是一個由Apache基金會所開發的分布式系統基礎架構。用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力進行高速運算和存儲。Hadoop實現了一個分布式文件系統( Distributed File System),其中一個組件是HDFS(Hadoop Distributed File System)
hive是基于Hadoop的一個數據倉庫工具,用來進行數據提取、轉化、加載,這是一種可以存儲、查詢和分析存儲在Hadoop中的大規模數據的機制。hive數據倉庫工具能將結構化的數據文件映射為一張數據庫表,并提供SQL查詢功能,能將SQL語句轉變成MapReduce任務來執行。
這種風格大家都比較常用,從結果向源頭倒著推,直接多層嵌套,一層一層往里面寫,業務邏輯復雜的話有可能寫很多層,達到幾百行之多,目前很多公司在有數倉的支持下,基本嵌套的層數會比較少
select * from ( (select * from a_temp where xxxx group by xxxx) as a left join (select * from b_temp where xxxx) as b on a.id=b.id ) temp where xxxx group by xxxx order by xxxx
with a as(select * from a_temp where xxxx group by xxxx), b as(select * from b_temp where xxxx) select * from a left join b on a.id=b.id where xxxx group by xxxx order by xxxx
這種風格是利用 with
語句,從源頭向結果正向推,可以把 with
語句理解為建立了一個臨時視圖/表一樣,后面的表引用前面的表,邏輯是正向推進
風格一:用的最多,從結果向源頭倒著推
風格二:容易理解,從源頭向結果正向推
感謝各位的閱讀,以上就是“Hive HQL支持的查詢語句風格有哪些”的內容了,經過本文的學習后,相信大家對Hive HQL支持的查詢語句風格有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。