Hive解析Json字符串(含json數組)

由於字段內容爲Json字符串,隨需要用到get_json_object(string json_string, string path),最初只是知道該方法可以解析簡單的json字符串,比如:

select get_json_object('{"key1":"value1","key2":"value2","key3":"value3"}','$.key1')

結果:value1

但由於目標字段中的json字符串含有json數組,隨在網上查瞭解析方法,但大部分方法都是通過正則將數組轉成簡單的kv格式的json字符串,再利用get_json_object獲取目標值,我覺得不應該是這樣的,隨查了官方文檔,發現get_json_object其實是可以直接獲取json數組內的數據的,具體如下:

select get_json_object('{"store":{"fruit":[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}],"bicycle":{"price":19.95,"color":"red"}},"owner":"amy"}','$.store.fruit[0].type')

結果爲:apple

附上Hive官網常用函數說明:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章