无法验证serde:org.apache.hadoop.hive.contrib.serde2.serde

yizd12fk  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(1214)

得到 Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Cannot validate serde: org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe 在配置单元上创建表时。下表创建脚本:

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

rqqzpn5f

rqqzpn5f1#

您正面临这个问题,因为您的配置单元库没有配置单元contrib jar,或者hive-site.xml没有指向它。
检查 '/usr/lib/hive/lib' 文件夹。一定有个jar hive-contrib-<version>.jar 在此文件夹中
如果在该文件夹中找不到任何jar,请从此链接下载它
请注意正确的版本。
现在把这个文件放到上面提到的hivelib文件夹中。可以通过两种方式将此文件添加到配置单元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:multidivideserde类是在hive-contrib-0.13之后添加的。请确保您使用的是正确的版本

相关问题