HIVE常用函數(shù)參考手冊模板_第1頁
HIVE常用函數(shù)參考手冊模板_第2頁
HIVE常用函數(shù)參考手冊模板_第3頁
HIVE常用函數(shù)參考手冊模板_第4頁
HIVE常用函數(shù)參考手冊模板_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

資料內容僅供您學習參考,如有不當或者侵權,請聯(lián)系改正或者刪除。函數(shù)分類HIVECLI命令顯示當前會話有多少函數(shù)可用

SHOWFUNCTIONS;顯示函數(shù)的描述信息

DESCFUNCTIONconcat;顯示函數(shù)的擴展描述信息

DESCFUNCTIONEXTENDEDconcat;簡單函數(shù)函數(shù)的計算粒度為單條記錄。

關系運算

數(shù)學運算

邏輯運算

數(shù)值計算

類型轉換

日期函數(shù)

條件函數(shù)

字符串函數(shù)

統(tǒng)計函數(shù)聚合函數(shù)函數(shù)處理的數(shù)據(jù)粒度為多條記錄。

sum()—求和

count()—求數(shù)據(jù)量

avg()—求平均直

distinct—求不同值數(shù)

min—求最小值

max—求最人值集合函數(shù)復合類型構建

復雜類型訪問

復雜類型長度特殊函數(shù)窗口函數(shù)應用場景

用于分區(qū)排序

動態(tài)GroupBy

TopN

累計計算

層次查詢WindowingfunctionsleadlagFIRST_VALUELAST_VALUE分析函數(shù)AnalyticsfunctionsRANKROW_NUMBERDENSE_RANKCUME_DISTPERCENT_RANKNTILE混合函數(shù)java_method(class,method[,arg1[,arg2])reflect(class,method[,arg1[,arg2..]])hash(a1[,a2...])UDTFlateralView:LATERALVIEWudtf(expression)tableAliasAScolumnAlias(‘,‘columnAlias)*fromClause:FROMbaseTable(lateralView)*ateralview用于和split,explode等UDTF一起使用,它能夠將一行數(shù)據(jù)拆成多行數(shù)據(jù),在此基礎上能夠對拆分后的數(shù)據(jù)進行聚合。lateralview首先為原始表的每行調用UDTF,UTDF會把一行拆分成一或者多行,lateralview再把結果組合,產(chǎn)生一個支持別名表的虛擬表。常見函數(shù)Demo:createtableemployee(idstring,moneydouble,typestring)rowformatdelimitedfieldsterminatedby‘\t‘linesterminatedby‘\n‘storedastextfile;loaddatalocalinpath‘/liguodong/hive/data‘intotableemployee;select*fromemployee;優(yōu)先級依次為NOTANDORselectid,moneyfromemployeewhere(id=‘1001‘orid=‘1002‘)andmoney=‘100‘;cast類型轉換selectcast(1.5asint);if判斷if(con,‘‘,‘‘);hive(default)>selectif(2>1,‘YES‘,‘NO‘);YEScasewhenconthen‘‘whenconthen‘‘else‘‘end(‘‘里面類型要一樣)selectcasewhenid=‘1001‘then‘v1001‘whenid=‘1002‘then‘v1002‘else‘v1003‘endfromemployee;get_json_objectget_json_object(json解析函數(shù),用來處理json,必須是json格式)selectget_json_object(‘{"name":"jack","age":"20"}‘,‘$.name‘);URL解析函數(shù)parse_url(stringurlString,stringpartToExtract[,stringkeyToExtract])selectparse_url(‘‘,‘HOST‘)fromemployeelimit1;字符串連接函數(shù):concat

語法:concat(stringA,stringB…)

返回值:string

說明:返回輸入字符串連接后的結果,支持任意個輸入字符串

舉例:hive>selectconcat(‘a(chǎn)bc‘,‘def’,‘gh‘)fromlxw_dual;abcdefgh帶分隔符字符串連接函數(shù):concat_ws

語法:concat_ws(stringSEP,stringA,stringB…)

返回值:string

說明:返回輸入字符串連接后的結果,SEP表示各個字符串間的分隔符concat_ws(stringSEP,array<string>)舉例:hive>selectconcat_ws(‘,‘,‘a(chǎn)bc‘,‘def‘,‘gh‘)fromlxw_dual;abc,def,gh列出該字段所有不重復的值,相當于去重collect_set(id)//返回的是數(shù)組列出該字段所有的值,列出來不去重collect_list(id)//返回的是數(shù)組selectcollect_set(id)fromtaborder;求和sum(money)統(tǒng)計列數(shù)count(*)selectsum(num),count(*)fromtaborder;窗口函數(shù)first_value(第一行值)first_value(money)over(partitionbyidorderbymoney)selectch,num,first_value(num)over(partitionbychorderbynum)fromtaborder;rowsbetween1precedingand1following(當前行以及當前行的前一行與后一行)hive(liguodong)>selectch,num,first_value(num)over(partitionbychorderbynumROWSBETWEEN2PRECEDINGANDCURRENTROW)fromtaborder;last_value最后一行值hive(liguodong)>selectch,num,last_value(num)over(partitionbych)fromtaborder;lead去當前行后面的第二行的值lead(money,2)over(orderbymoney)lag去當前行前面的第二行的值lag(money,2)over(orderbymoney)``````selectch,num,lead(num,2)over(orderbynum)fromtaborder;selectch,num,lag(num,2)over(orderbynum)fromtaborder;rank排名rank()over(partitionbyidorderbymoney)selectch,num,rank()over(partitionbychorderbynum)asrankfromtaborder;selectch,num,dense_rank()over(partitionbychorderbynum)asdense_rankfromtaborder;cume_distcume_dist(相同值的最大行號/行數(shù))cume_dist()over(partitionbyidorderbymoney)percent_rank(相同值的最小行號-1)/(行數(shù)-1)第一個總是從0開始percent_rank()over(partitionbyidorderbymoney)selectch,num,cume_dist()over(partitionbychorderbynum)ascume_dist,percent_rank()over(partitionbychorderbynum)aspercent_rankfromtaborder;ntile分片ntile(2)over(orderbymoneydesc)分兩份selectch,num,ntile(2)over(orderbynumdesc)fromtaborder;混合函數(shù)selectid,java_method("java.lang,Math","sqrt",cast(idasdouble))assqrtfromhiveTest;UDTFselectid,adidfromemployeelateralviewexplode(split(type,‘B‘))ttasadid;explode把一列轉成多行hive(liguodong)>selectid,adid>fromhiveDemo>lateralviewexplode(split(str,‘,‘))ttasadid;正則表示式

使用正則表示式的函數(shù)

regexp_replace(stringsubjectA,stringB,stringC)

regexp_extract(stringsubject,stringpattern,intindex)hive>selectregexp_replace

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論