在Hive中,有時候需要將表中的數據進行轉換,比如將表中的字段轉化為JSON格式,這時候我們可以通過Hive的一些內置函數實現。
首先,我們需要在Hive中創建一個表,并且插入一些數據。
CREATE TABLE test(
id INT,
name STRING,
age INT,
address STRING
);
INSERT INTO test VALUES
(1, '張三', 18, '北京市'),
(2, '李四', 20, '上海市'),
(3, '王五', 22, '廣州市');
上面的代碼創建了一個名為test的表,并往表中插入了一些數據。
接下來,我們需要使用Hive的內置函數concat_ws()將表中的字段轉化為JSON格式。
SELECT CONCAT_WS(',',
CONCAT('{', CONCAT_WS(',', CONCAT('"id":', id), CONCAT('"name":"', name, '"'))),
CONCAT('"age":',CAST(age AS STRING)),
CONCAT('"address":"', address, '"}')
) AS json_data
FROM test;
上面的代碼中使用concat_ws()函數將表中的字段拼接為JSON格式的字符串,然后使用SELECT語句讀取出來。
最終輸出的結果如下:
{"id":1,"name":"張三","age":18,"address":"北京市"}
{"id":2,"name":"李四","age":20,"address":"上海市"}
{"id":3,"name":"王五","age":22,"address":"廣州市"}
這樣就完成了Hive字段轉JSON的操作。
上一篇mysql跨數據庫操作