获取Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Cannot validate serde: org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe
在Hive上创建表时。下面是表创建脚本:
CREATE EXTERNAL TABlE ratings(user_id INT, movie_id INT,rating INT,rating_time String)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe'
WITH SERDEPROPERTIES ("field.delim"="::")
LOCATION '/user/hive/ratings';
HDP版本:2.1.1
答案 0 :(得分:2)
您遇到此问题,因为您的hive lib没有hive-contrib jar或者hive-site.xml没有指向它。
检查'/usr/lib/hive/lib'
个文件夹。此文件夹中必须有一个jar hive-contrib-<version>.jar
如果您在该文件夹中找不到任何jar,请从此link
下载请注意正确的版本。
现在将该文件放到上面提到的hive lib文件夹中。 您可以通过两种方式将此文件添加到您的hive CLI
add jar /usr/lib/hive/lib/hive-contrib-<version>.jar;
永久解决方案:将其添加到您的hive-site.xml
<property>
<name>hive.aux.jars.path</name>
<value>/usr/lib/hive/lib/*</value>
</property>
P.S:在hive-contrib-0.13之后添加MultiDelimitSerDe类。请确保您使用的是正确的版本