str_to_map(字符串參數, 分隔符1, 分隔符2)
使用兩個分隔符將文本拆分為鍵值對。
分隔符1將文本分成K-V對,分隔符2分割每個K-V對。對於分隔符1默認分隔符是 ',',對於分隔符2默認分隔符是 '='
我們先介紹一下這個函數的應用場景。
Z表又被稱之為拉鏈表。在同一個分區中主鍵是stat_date+uid被儲存的值是客戶的狀態。
我們需要對客戶狀態進行統計。
select str_to_map(concat_ws(',',collect_set(concat(stat_date,':',label_state))),',',':')
from table1 group by uid;
存貯map字段必須用 map<string,string>存儲
DROP TABLE IF EXISTS tmp.tmp_str_to_map; CREATE TABLE IF NOT EXISTS tmp.tmp_str_to_map ( uid string comment '客戶號', date_label map<string,string> comment 'map字段' );
