Class org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe not found

当遇到'Class org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe not found'的问题时,可以采取两种解决方案。对于没有Sentry的集群,可以直接通过Hive或Beeline手动添加jar包。而对于有Sentry的集群,需要创建hive-contrib.jar的软链接到AUX目录,并确保重启HiveServer2以分发jar文件,使所需类能够被找到。此方法同样适用于Hive UDF JAR文件的安装。
摘要由CSDN通过智能技术生成

Class org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe not found

To resolve this issue, do the following:

Option 1: For clusters without Sentry:

Manually add the jar from Hive/ Beeline before running the query:

ADD JAR /opt/cloudera/parcels/CDH/lib/hive/lib/hive-contrib.jar;.

Option 2: For clusters with Sentry:

  1. Create a symlink of hive-contrib.jar from the AUX directory:
    ln -s /opt/cloudera/parcels/CDH/lib/hive/lib/hive-contrib.jar /hive/jars/hive-contrib.jar

    In this example, /hive/jars is the AUX directory, it assumes that AUX directory has been set properly for HiveServer2 already. i.e : /opt/cloudera/parcels/CDH/lib/hive/auxlib

  2. Note: The Hive Auxiliary JARs directory configuration takes overwrite precedence over manually setting hive.aux.jar.path in the Hive Service Safety Valve

  3. Restart HiveServer2 
    This will ask HiveServer2 to distribute JAR file hive-contrib.jar to NodeManagers when Mappers or Reducers are running, so that the required class can be found.

Note: Same procedure applies for installation of Hive UDF JAR files.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值