hive0.14版本之前默认只支持单个字符。0.14版本以后提供序列化类支持多个字节。
hive官网描述: https://cwiki.apache.org/confluence/display/Hive/MultiDelimitSerDe
例子如下:
CREATE TABLE test (
id string,
hivearray array,
hivemap map)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe'
WITH SERDEPROPERTIES ("field.delim"="[,]","collection.delim"=":","mapkey.delim"="@");
需要注意一点sqoop 1.4.6同步数据进入hive不支持多个字节。需要修改sqoop源码
例子如下:https://github.com/cloudera/sqoop/blob/cdh5-1.4.6_5.13.1/src/java/org/apache/sqoop/lib/DelimiterSet.java