Hive中多字符分隔符: |^|
DROP TABLE IF EXISTS temp.cloud_user;
CREATE EXTERNAL TABLE IF NOT EXISTS temp.cloud_user (
`user_id` bigint COMMENT '主键'
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe'
WITH SERDEPROPERTIES ('field.delim'='|^|');
报错:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Cannot validate serde: org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe
在Hive客户端添加jar包,重启后未解决问题:
add jar /opt/cloudera/parcels/CDH-6.1.1-1.cdh6.1.1.p0.875250/lib/hive/contrib/hive-contrib-2.1.1-cdh6.1.1.jar
修改Hive配置重启后解决问题:
非CM管理直接改xml即可:
<property>
<name>hive.aux.jars.path</name>
<value>file:///opt/cloudera/parcels/CDH-6.1.1-1.cdh6.1.1.p0.875250/lib/hive/contrib/hive-contrib-2.1.1-cdh6.1.1.jar</value>
<description>Added by tiger.zeng on 20120202.These JAR file are available to all users for all jobs</description>
</property>