Hive?HQL支持2種查詢語句風(fēng)格
背景
在平時業(yè)務(wù)運營分析中經(jīng)常會提取數(shù)據(jù),也就是大家俗稱的Sql Boy,表哥表姐,各大公司數(shù)據(jù)中臺現(xiàn)在大部分用的都是基于Hadoop的分布式系統(tǒng)基礎(chǔ)架構(gòu),用的比較多的有Hive數(shù)據(jù)倉庫工具,數(shù)據(jù)分析師在數(shù)據(jù)查詢時用的就是HQL,語法與Mysql有所不同,基本每天都會寫大量的HQL語句,但你有試過哪些風(fēng)格的寫法呢?哪種風(fēng)格的查詢語句更容易理解呢?可能不同的人有不同的看法,下面展示具體的風(fēng)格代碼樣式,看看你喜歡哪種
- Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)。用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力進行高速運算和存儲。Hadoop實現(xiàn)了一個分布式文件系統(tǒng)( Distributed File System),其中一個組件是HDFS(Hadoop Distributed File System)
- hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,用來進行數(shù)據(jù)提取、轉(zhuǎn)化、加載,這是一種可以存儲、查詢和分析存儲在Hadoop中的大規(guī)模數(shù)據(jù)的機制。hive數(shù)據(jù)倉庫工具能將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供SQL查詢功能,能將SQL語句轉(zhuǎn)變成MapReduce任務(wù)來執(zhí)行。
風(fēng)格一
這種風(fēng)格大家都比較常用,從結(jié)果向源頭倒著推,直接多層嵌套,一層一層往里面寫,業(yè)務(wù)邏輯復(fù)雜的話有可能寫很多層,達到幾百行之多,目前很多公司在有數(shù)倉的支持下,基本嵌套的層數(shù)會比較少
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
風(fēng)格二
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
這種風(fēng)格是利用 with
語句,從源頭向結(jié)果正向推,可以把 with
語句理解為建立了一個臨時視圖/表一樣,后面的表引用前面的表,邏輯是正向推進
兩種風(fēng)格的區(qū)別
- 風(fēng)格一:用的最多,從結(jié)果向源頭倒著推
- 風(fēng)格二:容易理解,從源頭向結(jié)果正向推
相關(guān)參考
Python 利用Pandas把數(shù)據(jù)直接導(dǎo)入Mysql
Python 基于ssh連接遠程Mysql數(shù)據(jù)庫
以上就是Hive HQL支持2種查詢語句風(fēng)格的詳細內(nèi)容,更多關(guān)于Hive HQL查詢語句風(fēng)格的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
dbeaver工具連接達夢數(shù)據(jù)庫的完整步驟
DBeaver數(shù)據(jù)庫連接工具是我用了這么久最好用的一個數(shù)據(jù)庫連接工具,擁有的優(yōu)點,支持的數(shù)據(jù)庫多、快捷鍵很贊、導(dǎo)入導(dǎo)出數(shù)據(jù)非常方便,下面這篇文章主要給大家介紹了關(guān)于dbeaver工具連接達夢數(shù)據(jù)庫的完整步驟,需要的朋友可以參考下2023-05-05一次因表變量導(dǎo)致SQL執(zhí)行效率變慢的實戰(zhàn)記錄
這篇文章主要給大家介紹了一次因表變量導(dǎo)致SQL執(zhí)行效率變慢的實戰(zhàn)記錄,本文通過圖文以及示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者了解sql具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2021-11-11關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫概述與優(yōu)缺點對比
這篇文章介紹了關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫概述與優(yōu)缺點對比,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03Navicat恢復(fù)數(shù)據(jù)庫連接及查詢sql的完美解決辦法
因為公司給電腦加域,導(dǎo)致使用新的用戶賬戶,原先的很多配置都失效了,這篇文章主要介紹了Navicat恢復(fù)數(shù)據(jù)庫連接及查詢sql的解決辦法,需要的朋友可以參考下2023-08-08Win2003系統(tǒng)安裝SQL Server2000后1433端口未開放的解釋
這篇文章主要介紹了Win2003系統(tǒng)安裝SQL Server2000后1433端口未開放的解釋2007-02-02