XML使用Serde hows类没有找到问题,将其提取到Hive表中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML使用Serde hows类没有找到问题,将其提取到Hive表中相关的知识,希望对你有一定的参考价值。

我试图将一个简单的xml摄取到hive表。表创建正常但在执行select查询或该表上的任何其他查询时获得以下错误:

org.apache.hive.service.cli.HiveSQLException:编译语句时出错:FAILED: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
答案

有两点需要注意:1。检查xml文件,特别是引号字符(“)。我遇到的问题是”而不是“。 2. Hive用户是否有权阅读jar?尝试chmod 777到罐子里。 3.如果这是一个新的hive开头,添加jar文件。 4.如果通过ambari你想要执行查询:每次都有“添加jar ...”的声明5.每次你需要使用hdfs将jar添加到amabri用户时去除jar:add jar hdfs:/ //tmp/hivexmlserde-1.0.5.3.jar;或其他选项,你可以关注Here.

以上是关于XML使用Serde hows类没有找到问题,将其提取到Hive表中的主要内容,如果未能解决你的问题,请参考以下文章

将 AWS 粘合模式注册表与融合的 SerDe 客户端一起使用

无法从引发 serde 异常的 spark 将数据帧保存为配置单元表

使用 serde Rust 将数据从记录转置到没有中间结构的列

在使用Serde反序列化对象时,有没有办法省略包装器/根对象?

`diesel_geography::types::GeogPoint` 没有实现特征 `serde::Deserialize<'_>`

从 xml 中删除非法的 0x1f 字符