當前位置:成語大全網 - 書法字典 - Hive公共查詢功能

Hive公共查詢功能

功能描述:

NVL:為空值數據賦值。

它的格式是

NVL(string 1,替換為)。

它的功能是,如果string1為NULL,NVL函數將返回replace_with的值,否則它將返回string1的值,如果兩個參數都為NULL,它將返回NULL。

Date_format:格式化時間。

Date_add:時間加天數。

Date_sub:從天數中減去時間,類似於加法。就用壹個。

select date _ sub(‘2019-06-29‘,5);

Datediff:減去兩個時間。

select datediff(‘2019-06-29’,‘2019-06-24’);

concat(String A/Col,String B/Col …):返回輸入字符串串聯的結果,支持任意輸入字符串;

CONCAT _ ws(分隔符,字符串1,字符串2,...):它是concat()的壹種特殊形式。第壹個參數的其余參數之間的分隔符。

分隔符可以是與其余參數相同的字符串。如果分隔符為空,返回值也將為空。

此函數跳過delimiter參數後的任何NULL和空字符串。將在連接的字符串之間添加分隔符;

從XX中選擇concat _ ws(‘-‘,str1,str 2);//str是字符串類型的列名。

COLLECT _ SET(col):該函數只接受基本數據類型,其主要功能是匯總字段的值。

生成數組類型的字段。

鍛煉:將星座和血型相同的人分組。

轉換的第壹步:

白羊座,美猴王

射手座,壹片海

白羊座b宋松

白羊座、豬八戒

射手座,壹座西峰

合並

EXPLODE(col):將壹列hive中的復雜數組或映射結構拆分為多行。

側視圖//剖面圖

用法:橫向視圖udtf(表達式)表別名作為列別名

說明:與UDTF(如split、explode)壹起使用時,它可以將壹列數據拆分為多行,然後匯總拆分的數據。

練習:展開電影分類中的數組數據。

從movie_info中選擇explode(類別);

OVER():指定分析函數工作的數據窗口大小,該大小可能會隨著行的變化而變化;

/in over(用於內部)/

當前行:當前行;

N PRECEDING:轉發n行數據;

N FOLLOWING:接下來的n行數據;

未綁定:起點,

無界在前意味著從前面開始,無界跟隨意味著在後面結束;

/*在室外使用*/

LAG(col,n):向前第n行的數據;

LEAD(col,n):下壹個第n行的數據;

NTILE(n):將有序分區中的行分布到指定數據的組中,每個組都有壹個編號,從1開始。

對於每壹行,NTILE返回該行所屬組的編號。註意:n必須是int類型。

數據:

1.查詢2017年4月購買的客戶和總人數。

Group將壹個值組成壹個組,並在窗口中獨立處理每條數據。

查詢客戶的購買明細和購買總額

按日期累計成本

首先排序

再累積

查詢客戶的最後購買時間。

下次購買時間

查詢前20%時間的訂單信息。

排序相同時RANK()會重復,總數不會改變,所以可以並列。

DENSE_RANK()將在排序相同時重復,總數將減少。

ROW_NUMBER()按順序計算。

練習:計算各科成績排名。

計算每個科目的分數排名