背景:在工作過程中,一直經(jīng)常性接觸到hql拼接字符串的工作內(nèi)容,但每次都是最常規(guī)的拼接,效率并不高。故調(diào)研發(fā)現(xiàn)hive早已提供相關(guān)函數(shù)進(jìn)行更簡(jiǎn)便處理。
- named_struct
- 專門用來拼接 json 的函數(shù)
-
使用方法:named_struct(columnName1, value1, columnName2, value2, ...)
named_struct
- collect_list(可重復(fù)) 與collect_set(不可重復(fù))
- 返回一個(gè)數(shù)組
-
與json函數(shù)配合使用構(gòu)成json數(shù)組
json_array
select
'id',
collect_list(json)
from
(select 'id',named_struct("name","color","age",18) as json
union all
select 'id',named_struct("name","Doull","age",19) as json)t
group by 'id';

arr
- concat_ws
- 會(huì)將數(shù)組中的數(shù)據(jù),再按照指定分隔符進(jìn)行拼接,即去數(shù)組化
-
concat_ws 參數(shù)需為 string or array<string>,不能為其他類型
error
exam
- concat
-
可使用concat拼接,將字符串拼接成json
concat




