最近的工作主要集中在資料分析,建立數倉並進行資料的分析,故記錄一些相關技巧
兩者多進行列轉行,使得乙個使用者的資料聚合到一起
不同點:collect_set去重,collect_list不去重
使用size()可以計算其中的類別個數
使用array_contains(str1,str2)判斷str1中是否包含str2
判斷不包括!array_contains(str1,str2)
主要用於列值的合併
不同點:concat_ws可以指定連線符
其他注意點:
select concat('大','小') as size from 表
查詢出結果為:大小
select concat('大',null) as size from 表
查詢出結果為:null
concat中又乙個引數為null,查出來的就為null
select concat_ws('_','大','小','中') as size from 表
查詢出結果為:大_小_中
select concat_ws('_','大','小',null) as size from 表
查詢出結果為:大_小
區別:1)get_json_object()只能解析乙個引數,json_tuple()可以解析多個引數
2)get_json_object()可以解析複雜的巢狀json,單json_tuple()不可以用於複雜的json解析
get_json_object(',],"clothes":},"name":"jane","age":"23"}', '$.shop.book[0].type')
***********************************
get_json_object(str, '$.shop.book[0].type') ===>結果:art
json_tuple('','server','name')===>結果:www.qq.com jack
Hive小技巧及優化
查詢除了ds 和 hr 之外的所有列 select ds hr from sales 修改表生命週期 odps alter table table name set lifecycle days 正則匹配 匹配除 n 之外的任何單個字元。要匹配包括 n 在內的任何字元,請使用像 n 的模式。解析執行...
hive之group by相關技巧
在使用hive進行分組查詢時,疑惑的一些地方進行驗證,特此記錄,也希望能給大家帶來一點幫助!hive進行分組查詢時,select多個字段,則也需要按該多個字段進行分組,例 selectyear,id type count 1 from tablename where 條件 group by year...
Hive知識之優化技巧
1 用group by替換distinct去重select user name from trade group by user name 2 使用mapjoinselect mapjoin table a a.b.from table a a join table b b on a.id b.id...