91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

云計算大數據學習路線課程大綱資料:hive內部函數

發布時間:2020-08-10 05:22:51 來源:ITPUB博客 閱讀:202 作者:千鋒云計算 欄目:云計算

今天給大家分享一些云計算大數據學習路線課程大綱資料,這篇文章是關于hive內部函數的一些學習筆記資料,希望能給大家一些幫助:

云計算大數據學習路線課程大綱資料:hive內部函數

hive內部函數

1、取隨機數函數:rand()

語法 : rand(),rand(int seed) 返回值 : double 說明 : 返回一個0到1范圍內的隨機數。如果指定seed,則會得到一個穩定的隨機數序列

select rand();

select rand(10);

2、分割字符串函數:split(str,splitor)

語法 : split(string str, string pat) 返回值 : array 說明 : 按照pat字符串分割str,會返回分割后的字符串數組,注意特殊分割符的轉義

select split(5.0,"\.")[0];

select split(rand(10)*100,"\.")[0];

3、字符串截取函數:substr,substring

語法 : substr(string A, int start),substring(string A, int start) 返回值 : string 說明 :返回字符串A從start位置到結尾的字符串

語法 : substr(string A, int start, int len),substring(string A, int start, int len) 返回值 : string 說明 :返回字符串A從start位置開始,長度為len的字符串

select substr(rand()*100,0,2);

select substring(rand()*100,0,2);

4、If函數:if

語法 : if(boolean testCondition, T valueTrue, T valueFalseOrNull) 返回值 : T 說明 : 當條件testCondition為TRUE時,返回valueTrue;否則返回valueFalseOrNull

select if(100>10,"this is true","this is false");

select if(2=1,"男","女");

select if(1=1,"男",(if(1=2,"女","不知道")));

select if(3=1,"男",(if(3=2,"女","不知道")));

5、條件判斷函數:CASE

第一種格式:

語法 : CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END 返回值 : T 說明 :如果a為TRUE,則返回b;如果c為TRUE,則返回d;否則返回e

第二種格式:

語法 : CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END 返回值 : T 說明 :如果a等于b,那么返回c;如果a等于d,那么返回e;否則返回f

select

case 6

when 1 then "100"

when 2 then "200"

when 3 then "300"

when 4 then "400"

else "others"

end

;

##創建表

create table if not exists cw(

flag int

)

;

load data local inpath '/home/flag' into table cw;

##第一種格式

select

case c.flag

when 1 then "100"

when 2 then "200"

when 3 then "300"

when 4 then "400"

else "others"

end

from cw c

;

##第二種格式

select

case

when 1=c.flag then "100"

when 2=c.flag then "200"

when 3=c.flag then "300"

when 4=c.flag then "400"

else "others"

end

from cw c

;

6、正則表達式替換函數:regexp_replace

語法 : regexpreplace(string A, string B, string C) 返回值 : string 說明 :將字符串A中的符合java正則表達式B的部分替換為C。注意,在有些情況下要使用轉義字符,類似oracle中的regexpreplace函數

select regexp_replace("1.jsp",".jsp",".html");

7、類型轉換函數: cast

語法 : cast(expr as ) 返回值 : Expected "=" to follow "type" 說明 : 返回轉換后的數據類型

select 1;

select cast(1 as double);

select cast("12" as int);

8、字符串連接函數:concat;帶分隔符字符串連接函數:concat_ws

語法 : concat(string A, string B…) 返回值 : string 說明 :返回輸入字符串連接后的結果,支持任意個輸入字符串

語法 : concat_ws(string SEP, string A, string B…) 返回值 : string 說明 :返回輸入字符串連接后的結果,SEP表示各個字符串間的分隔符

select "千峰" + 1603 + "班級";

select concat("千峰",1603,"班級");

select concat_ws("|","千峰","1603","班級");

9、排名函數:

rownumber(): 名次不并列 rank():名次并列,但空位 denserank():名次并列,但不空位

##數據

id class score

1 1 90

2 1 85

3 1 87

4 1 60

5 2 82

6 2 70

7 2 67

8 2 88

9 2 93

1 1 90 1

3 1 87 2

2 1 85 3

9 2 93 1

8 2 88 2

5 2 82 3

create table if not exists uscore(

uid int,

classid int,

score double

)

row format delimited fields terminated by '\t'

;

load data local inpath '/home/uscore' into table uscore;

select

u.uid,

u.classid,

u.score

from uscore u

group by u.classid,u.uid,u.score

limit 3

;

select

u.uid,

u.classid,

u.score,

row_number() over(distribute by u.classid sort by u.score desc) rn

from uscore u

;

取前三名

select

t.uid,

t.classid,

t.score

from

(

select

u.uid,

u.classid,

u.score,

row_number() over(distribute by u.classid sort by u.score desc) rn

from uscore u

) t

where t.rn < 4

;

查看三個排名區別

select

u.uid,

u.classid,

u.score,

row_number() over(distribute by u.classid sort by u.score desc) rn,

rank() over(distribute by u.classid sort by u.score desc) rank,

dense_rank() over(distribute by u.classid sort by u.score desc) dr

from uscore u

;

10.聚合函數:

min() max() count() count(distinct ) sum() avg()

count(1):不管正行有沒有值,只要出現就累計1 count(*):正行值只要有一個不為空就給類計1 count(col):col列有值就累計1 count(distinct col):col列有值并且不相同才累計1

11.null值操作

幾乎任何數和 NULL操作都返回NULL

select 1+null;

select 1/0;

select null%2;

12.等值操作

select null=null; #null

select null<=>null;#true


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新余市| 鹤峰县| 化隆| 芷江| 榆林市| 海淀区| 清新县| 砀山县| 库伦旗| 永泰县| 永年县| 宜春市| 宜川县| 长春市| 时尚| 庐江县| 宁都县| 邢台县| 云阳县| 澄城县| 尤溪县| 武穴市| 阳东县| 共和县| 宁陕县| 德钦县| 辉县市| 县级市| 永清县| 阿瓦提县| 衡南县| 东辽县| 祁门县| 西盟| 宁明县| 登封市| 平顺县| 洪雅县| 绥芬河市| 南华县| 沅陵县|