默认分隔符问题
问题描述:
将hive中表A的内容查询出来存放到另外表B时,发现字段错位,有些字段的内容分成了几部分存在后面的字段中去
原因
原因是hive默认的分隔符为“/u0001”,而表A中有一个字段的内容中间有“/u0001”,因此导致了问题的出现
解决方法
修改了表B的默认分隔符:
CREATE TABLE b row format delimited fields terminated by '\t' as
SELECT * FROM a limit 100;
彻底解决:
或者建表时将表存储格式改成ORC,ORC格式不需要分隔符,彻底解决问题
CREATE