运行hive脚本报错:java.lang.ClassNotFoundException: Class org.apache.hive.hcatalog.data.JsonSerDe not found

出现error过程描述:

创建一个Hive表并对其添加一个JSON格式匹配

ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'

原因是缺少hive-hcatalog-core-3.1.2.jar的包

尝试以下方式

将~/hive-3.1.2/hcatalog/share/hcatalog/hive-hcatalog-core-3.1.2.jar 放到hive的lib目录下

~为你自己机器的hive安装目录

依然报错

解决方法1:修改hive-env.sh配置文件

$HIVE_HOME/conf下,找到hive-env.sh修改HIVE_AUX_JARS_PATH内容,即添加如下使其在MR时生效

export HIVE_AUX_JARS_PATH=$HIVE_HOME/hcatalog/share/hcatalog/hive-hcatalog-core-1.2.2.jar

解决方法2:在对应的shell脚本中引用路径--auxpath 将hive-hcatalog-core-3.1.2.jar包引入

${HIVE_HOME}/bin/hive --auxpath /opt/apps/hive-3.1.2/hcatalog/share/hcatalog/hive-hcatalog-core-3.1.2.jar   -S -e "$sql"

你可能感兴趣的:(大数据,数据库)