0

我正在尝试将一个简单的 xml 摄取到配置单元表中。表创建良好,但在该表上执行选择查询或任何其他查询时出现以下错误:

org.apache.hive.service.cli.HiveSQLException:编译语句时出错:FAILED:RuntimeException java.lang.ClassNotFoundException:com.ibm.spss.hive.serde2.xml.XmlInputFormat

我关注了这篇文章。

这里有什么问题?

我可以看到添加了 jar 文件。

list jars; 
/tmp/hivexmlserde-1.0.5.3.jar 

并且 jar 文件具有我遇到错误的类。

[root@sandbox-hdp tmp]# jar -tf hivexmlserde-1.0.5.3.jar | grep -icom.ibm.spss.hive.serde2.xml.XmlInputFormat
com/ibm/spss/hive/serde2/xml/XmlInputFormat$XmlRecordReader.class
com/ibm/spss/hive/serde2/xml/XmlInputFormat.class
4

1 回答 1

0

有几件事情需要注意: 1. 检查 xml 文件,特别是引号字符(“)。我遇到了”而不是“的问题。2. Hive用户有权限读取jar吗?尝试 chmod 777 到 jar 中。3. 如果这是 hive 的全新开始,请添加 jar 文件。4.如果通过ambari你想执行查询:每次都有“add jar..”的语句 5.要摆脱每次需要使用hdfs将jar添加到amabri用户时添加jar:add jar hdfs:/ //tmp/hivexmlserde-1.0.5.3.jar; 或您可以在此处关注的另一个选项。

于 2018-09-12T14:38:40.593 回答