一 解析URL字符串

parse_url(url, partToExtract[,key])

介绍:
partToExtract的选项包含[HOST, PATH, QUERY, REF, PROTOCOL, FILE, AUTHORITY, USERINFO]

例子:

(1)

hive中的谓词下推情况_unix


结果:

hive中的谓词下推情况_unix_02


(2)

hive中的谓词下推情况_字符串_03


结果:

hive中的谓词下推情况_时间转换_04


(3)

hive中的谓词下推情况_unix_05


结果:

hive中的谓词下推情况_字符串_06


(4)

hive中的谓词下推情况_时间转换_07


结果:

hive中的谓词下推情况_字符串_08


(5)

hive中的谓词下推情况_字符串_09


结果:

hive中的谓词下推情况_字符串_10

(5)其他参数的结果都是空NUll

hive中的谓词下推情况_字符串_11


hive中的谓词下推情况_时间转换_12


hive中的谓词下推情况_字符串_13


结果:

hive中的谓词下推情况_时间转换_14

二 字符串连接函数

需要是String类型字段

concat(str1,SEP,str2,SEP,str3,……) 和 concat_ws(SEP,str1,str2,str3, ……)

例子:

hive中的谓词下推情况_unix_15


(1)concat

hive中的谓词下推情况_时间转换_16


结果:

hive中的谓词下推情况_hive中的谓词下推情况_17


(2)concat_ws

hive中的谓词下推情况_hive中的谓词下推情况_18


结果:

hive中的谓词下推情况_时间转换_19


代码1:

select concat('江苏省','-','南京市','-','玄武区','-','徐庄软件园');

代码2:

select concat_ws('-','江苏省','南京市','玄武区','徐庄软件园');

结论:
当连接的内容(字段)多于2个的时候,concat_ws的优势就显现了,写法简单、方便。

三 将当前系统时间按照指定格式进行转换

unix_timestamp()

unix_timestamp()是将当前系统时间转换成数字型秒数

hive中的谓词下推情况_字符串_20


结果:

hive中的谓词下推情况_时间转换_21


函数:

将数字型按照格式进行时间转换:

from_unixtime

hive中的谓词下推情况_字符串_22


结果:

hive中的谓词下推情况_unix_23

四 字符串替换函数

regexp_replace(string A, string B, string C)

将字符串A 中的B 用 C 替换

例子:

hive中的谓词下推情况_字符串_24


结果:

hive中的谓词下推情况_时间转换_25

五 重复N次字符串函数

repeat(string str, int n)

例子:

hive中的谓词下推情况_hive中的谓词下推情况_26


结果:

hive中的谓词下推情况_字符串_27

六 将字符串str用lpad进行左补足到len位函数(如果位数不足的话)

lpad(string str, int len, string pad)

例子:

hive中的谓词下推情况_hive中的谓词下推情况_28


结果:

hive中的谓词下推情况_字符串_29

七 将字符串str用rpad进行右补足到len位函数(如果位数不足的话)

rpad(string str, int len, string pad)

例子:

hive中的谓词下推情况_unix_30


结果:

hive中的谓词下推情况_字符串_31

八 删除字符串两边的空格,中间的空格会保留的函数

trim(string A)

例子

(1)

hive中的谓词下推情况_hive中的谓词下推情况_32


结果:

hive中的谓词下推情况_unix_33


(2)

hive中的谓词下推情况_unix_34


结果:

hive中的谓词下推情况_unix_35

ltrim(string A) :去除左面的空格

例子:

hive中的谓词下推情况_字符串_36


结果:

hive中的谓词下推情况_字符串_37

rtrim(string A) :去除右面的空格

例子:

hive中的谓词下推情况_unix_38


结果:

hive中的谓词下推情况_hive中的谓词下推情况_39

九 将时间戳转换成日期型字符串函数

to_date(string timestamp)

例子:

hive中的谓词下推情况_字符串_40


结果:

hive中的谓词下推情况_时间转换_41

十 返回int的两个日期差函数

datediff(string enddate, string startdate)

例子:

hive中的谓词下推情况_unix_42


结果:

hive中的谓词下推情况_时间转换_43

十一 日期加减函数

date_add(string startdate, int days)

例子:

(1)

hive中的谓词下推情况_字符串_44


结果:

hive中的谓词下推情况_hive中的谓词下推情况_45


(2)

hive中的谓词下推情况_字符串_46


结果:

hive中的谓词下推情况_hive中的谓词下推情况_47