Hive使用多字符分隔符建表失败

create table test_hold(
       id    string
      ,name  string
      ,card  string
      ,aum   string
) 
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe' 
WITH SERDEPROPERTIES ("field.delim"="@!@");

当hive创建多分隔符表的时候,会报错Cannot validate serde:org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe

解决方法:

在hive客户端执行:

add jar /opt/cloudera/parcels/CDH/lib/opt/cloudera/parcels/CDH/lib/hive/contrib/hive-contrib-2.1.1-cdh6.3.2.jar

hive本身带有这个jar,但是没有add,执行以后就可以使用多字符分隔符建表

如果创建以后查询失败,或数据库查询工具查询报错

解决方法:

将该jar加入到Hive的所有节点 lib目录下,重启hive server

原文链接:https://blog.csdn.net/duyuanhai/article/details/117822751

你可能感兴趣的:(问题解决,hive)