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