目前沒發現有什么方便的函數可以直接使用,只能使用concat來手工拼接。
注意將null的字段值轉為空,使用nvl函數
-
如果將hql語句寫在script.q文件里面如下:
select concat('{"data_dt":"',a.data_dt, '","user":"',NVL(a.`user`, ''), '","click":"',NVL(a.click, ''), '"}') as value from table a;
-
如果直接使用hive -e參數時,需要將雙引號轉義
select concat('{\"data_dt\":\"',a.data_dt, '\",\"user\":\"',NVL(a.`user`, ''), '\",\"click\":\"',NVL(a.click, ''), '\"}') as value from table a;