1,hive的行轉列,和列轉行
1,行轉列:
1.1,首先行轉列的函式有:concat():把字串連接在一起,可以有任意字符,缺點是要重復寫分隔符,concat_WS(),第一個引數可以指明分隔符,第二個引數可以是集合,字串,collect_list():收集器,可以收集元素放進集合中,也可以作為concat_WS()的第二個引數,上面幾個為行轉列常用的函式,
2,列轉行:
2.1,這個案例的話,還是比較容易的,最主要的是理解explode():炸裂的意思,主要作用就是把map集合和array集合一個個元素炸開,在通過lateral view 側視圖進行連接(可以把它當作join來看待),這樣好理解一些,
2,視窗函式和編號函式:
1,視窗函式:
在我看來視窗函式就是在檔案的本身進行處理資料,并不需要物理切分,一些繁瑣的操作,這大大提高了資料的可操作性,over()隨著行的改變可把范圍變廣,最通用的是把資料根據欄位磁區排序,來整理資料,然后再一步步操作,其中包含了以下幾個函式:
1,n preceding :前n個資料
2,n following :后面n個資料
3,unbounded preceding :表示從前面的起點
4,unbounded following :表示到后面的終點
5,lag:引數一欄位,往前第n行資料
6,lead:往后第n行資料
7,nt
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/438665.html
標籤:其他
上一篇:復習HBase之基本概念
