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:
- 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
-
Note: The Hive Auxiliary JARs directory configuration takes overwrite precedence over manually setting hive.aux.jar.path in the Hive Service Safety Valve
-
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.