我正在尝试提取一个简单的xml到配置单元表。表创建良好,但是在该表上执行选择查询或任何其他查询时,出现以下错误:
org.apache.hive.service.cli.HiveSQLException:编译语句时出错:失败:RuntimeException java.lang.ClassNotFoundException:com.ibm.spss.hive.serde2.xml.XmlInputFormat
我关注了this文章。
这是什么问题?
我可以看到添加了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
答案 0 :(得分:0)
以下几点需要注意: 1.检查xml文件,特别是引号character(“)。i出现问题,而不是“”。 2. Hive用户是否有权阅读罐子?尝试将chmod 777更改为jar。 3.如果这是蜂巢的新起点,则添加jar文件。 4.如果要通过ambari执行查询:每次都有“添加jar ..”语句。 5.每次需要使用hdfs将jar添加到amabri用户时,要摆脱添加jar: 添加jar hdfs:///tmp/hivexmlserde-1.0.5.3.jar; 或其他选项,您可以按照Here.