疫情打亂谷歌生產計劃,Pixel 5 產量不容樂觀
@
目錄1.檢視函式
- 函式有庫的概念,系統提供的除外,系統提供的函式可以在任意庫使用!
- 檢視當前庫所有的函式:
show functions;
- 檢視函式的使用:
desc function 函式名
- 檢視函式的詳細使用:
desc function extended 函式名
2.函式的分類
按函式的來源:
- ①系統函式,自帶的,直接使用即可
- ②使用者自定義的函式。
a)遵守hive函式類的要求,自定義一個函式類
b)打包函式,放入到hive的lib目錄下,或在HIVE_HOME/auxlib,auxlib用來存放hive可以載入的第三方jar包的目錄
c)建立一個函式,讓這個函式和之前編寫的類關聯函式有庫的概念
d)使用函式
按函式的特徵:
- ①UDF: 使用者定義的函式。 一進一出。 輸入單個引數,返回單個結果!比如:cast('a' as int) 返回 null
- ②UDTF: 使用者定義的表生成函式。 一進多出。傳入一個引數(集合型別),返回一個結果集!
- ③UDAF: 使用者定義的聚集函式。 多進一出。 傳入一列多行的資料,返回一個結果(一列一行) 。比如:count(),avg(),sum()
常用函式
常用日期函式
hive預設解析的日期必須是: 2019-11-24 08:09:10
unix_timestamp:返回當前或指定時間的時間戳
from_unixtime:將時間戳轉為日期格式
current_date:當前日期
current_timestamp:當前的日期加時間
to_date:抽取日期部分
year:獲取年
month:獲取月
day:獲取日
hour:獲取時
minute:獲取分
second:獲取秒
weekofyear:當前時間是一年中的第幾周
dayofmonth:當前時間是一個月中的第幾天
months_between: 兩個日期間的月份,前-後
add_months:日期加減月
datediff:兩個日期相差的天數,前-後
date_add:日期加天數
date_sub:日期減天數
last_day:日期的當月的最後一天
date_format格式化日期 date_format( 2019-11-24 08:09:10,'yyyy-MM') mn
常用取整函式
round: 四捨五入
ceil: 向上取整
floor: 向下取整
常用字串操作函式
upper: 轉大寫
lower: 轉小寫
length: 長度
trim: 前後去空格
lpad: 向左補齊,到指定長度
rpad: 向右補齊,到指定長度
regexp_replace: SELECT regexp_replace('100-200', '(\d+)', 'num')='num-num
使用正則表示式匹配目標字串,匹配成功後替換!
集合操作
size: 集合(map和list)中元素的個數
map_keys: 返回map中的key
map_values: 返回map中的value
array_contains: 判斷array中是否包含某個元素
sort_array: 將array中的元素排序