您好,登錄后才能下訂單哦!
這篇文章主要介紹了hive常用內部函數有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
格式:rand([int seed])返回:double-- 取0-1的隨機值select rand();-- 指定隨機函數的種子seed,該隨機會返回一個固定值select rand(100);
格式:split(str,spliter)返回:array-- 獲取隨機數*100,然后再取整。小數點.需要轉義select split(rand()*100,'\\.')[0];
格式:substring(str,start,length) substr(str,start,length)返回:string-- 獲取隨機數*100,然后再從0位置開始,取2位字符串。select substring(rand()*100,0,2);-- 獲取隨機數*100,然后再從0位置開始,取2位字符串。select substr(rand()*100,0,2);
格式:if(condition,true,false)返回:true或者flase部分的值-- 查詢s_tmp表,如果s.sex等于1,則是男,否則是女selects.id,s.name,if(s.sex = 1,'男','女')from s_tmp s;-- if嵌套查詢selects.id,s.name,if(s.id = 1,'男',if(s.id = 2,'女','妖'))from s_tmp s;
類似于java中的swith。比if函數更加的具有擴展性。格式:case 值when 1 then ''...elseend返回:then或者else后的值格式2:casewhen 值=1 then ''...elseend返回:then或者else后的值-- 查詢s_tmp中的s.sex,如果為1,則是男,為2則是女,其它為妖selects.id,s.name,case s.sexwhen 1 then '男'when 2 then '女'else '妖'endfrom s_tmp s;-- 查詢s_tmp中的s.sex,如果為1,則是男,為2則是女,其它為妖selects.id,s.name,casewhen s.sex=1 then '男'when s.sex=2 then '女'else '妖'endfrom s_tmp s;
格式:regexp_replace(str,old_string,new_str) #old_string支持通配符返回:string-- 將.png替換為.jpgselect regexp_replace('1.png','.png','.jpg');-- 將s.name的名字為zhangsan的替換為lisiselects.id,regexp_replace(s.name,'zhangsan','lisi')from s_tmp s;
格式: cast(x as type)返回:type類型-- 將1.0轉換成int類型select cast(1.0 as int);-- 將隨機數*100,轉換成int類型select cast(rand()*100 as int);
格式:round(double,保留位數)返回:double-- 隨機數*100,然后四舍五入取值。沒有保留位數默認四舍五入取整,比如0.0 或者 1.0select round(rand()*100);-- 隨機數*100,然后保留兩位小數,四舍五入取值select round(rand()*100,2);
格式:concat(str1,str2...) 或者 concat_ws(split_str,str1,str2....)返回:string-- 將字符串1,2拼接起來select concat("1","2");-- 將字符串1,2拼接起來,并使用|來進行分割select concat_ws("|","1","3","2");-- 將id,name,sex使用|進行拼接selectconcat_ws('|',cast(s.id as string),s.name,cast(s.sex as string))from s_tmp s;
格式:length(str) 返回:int-- 獲取name的長度selectlength(s.name)from s_tmp s;
感謝你能夠認真閱讀完這篇文章,希望小編分享的“hive常用內部函數有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。