先交代下背景:
数据分析时需要解析json中的jsonArray对象,get_json_object函数无解,解出来是NULL,绕开它寻求正则的方式。
json对象参考如下:
常规用领宽断言正则解法:select regexp_extract(json,'((?<=\[)(.*?)(?=\]))')
正则解析无误(java,python,sublime验证N遍),Hive死活解析为空,无奈去跟Hive日志,发现就没把[]中括号正常解析(用的内部ODPS不方便截图)
正解:select regexp_extract(pid,'((?<=\\[)(.*?)(?=\\]))') 切记加上两个\\
后续行转列部分不在赘述,常规操作即可
网友评论