hive表格可以直接解析json文件、甚至是json文件的压缩包,用json文件解析表格直接建表会很方便,如图:
但是如果json的value中有多个逗号的话,那些不是以json格式作为源文件格式的表格去读取json表格的数据的时候会导致数据列错位,因为默认的text表格默认是以逗号作为分隔符的,会直接把json的value里的逗号当成分隔符来处理了。如图:
解决方法:
修改后续表格的文件格式:
默认的格式
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUT