Hive內(nèi)置函數(shù)之字符串函數(shù)和數(shù)學(xué)函數(shù)

一、常用字符串函數(shù)

官方文檔:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-StringFunctions

以下只列出常用的一些字符串函數(shù),有些函數(shù)用得不多的,要查看上方的官方文檔鏈接

(1.1)substr(string|binary A, int start)、substr(string|binary A, int start, int len)

字符串截取

示例:

SELECT substr('Facebook', 5, 2); -- bo

SELECT substr('Facebook', 5); --?book


(1.2)concat(string|binary A, string|binary B...)

字符串連接

示例:

SELECT concat('abc', 'def'); --?abcdef


(1.3)concat_ws(string SEP, string A, string B...)

指定分隔符進(jìn)行字符串連接

示例:

是否走M(jìn)R跟參數(shù) hive.fetch.task.conversion有關(guān)

在?hive.fetch.task.conversion=minimal的情況下,是走M(jìn)apReduce的

在hive.fetch.task.conversion=more的情況下,是不走M(jìn)apReduce的

使用場(chǎng)景:

拼接ip

SELECT concat_ws('.', '192','168','1','218'); --?192.168.1.218


(1.4)length(string A)

獲取字符串長(zhǎng)度

示例:

SELECT length('Facebook'); -- 8


(1.5)split(string str, string pat)

字符串切割

示例:

SELECT split('192.168.121.218', '\\.'); --?["192","168","121","218"]


(1.6)upper(string A)、lower(string A)

全小寫或全大寫

示例:

SELECT lower('Facebook'); --?facebook


(1.7)trim(string A)

去空白

示例:

SELECT trim(' facebook '); --?facebook

二、常用數(shù)學(xué)函數(shù)

官方文檔:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-MathematicalFunctions

(2.1)round(DOUBLE a)、round(DOUBLE a, INT d)

四舍五入

示例:

SELECT round(12.3456, 2); --?12.35

SELECT round(12.3456, 1); --?12.3


(2.2)ceil(DOUBLE a)、ceiling(DOUBLE a)、floor(DOUBLE a)

俗稱天花板
俗稱地板

示例:

SELECT ceil(-1.1); -- -1

SELECT ceil(5.1); -- 6

SELECT floor(-1.1); --?-2

SELECT floor(1.1); --?1


(2.3)abs(DOUBLE a)

取絕對(duì)值

示例:

SELECT abs(-5); -- 5

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容