首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在HDP沙箱上添加JAR

在HDP沙箱上添加JAR
EN

Stack Overflow用户
提问于 2015-12-21 23:19:09
回答 2查看 763关注 0票数 0

我需要将XML存储在HDFS中,并在HDFS文件夹的基础上创建hive表。我一直在尝试使用这个链接中提供的

在使用added命令从链接下载之后,我将serde添加到单元格中。

添加JAR hivexmlserde-1.0.5.3.jar

我还收到消息说“添加.到类路径”

列表罐也证实了这一点。但是,当我尝试创建同一个链接中提到的表时,它失败了,下面的消息如下

失败: SemanticExcepton找不到类com.ibm.spss.hive.serde2.xml.XmlInputFormat

帮帮忙吧。

注:我使用HDP 2.3

附件是结果的截图。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-23 21:23:57

向jar授予正确的权限和所有权,然后运行ADD命令就可以了。我不知道为什么会这样!

票数 0
EN

Stack Overflow用户

发布于 2015-12-22 01:31:40

我能够在HDP 2.3沙箱上创建表。我明白问题所在。添加jar和list jar成功并不意味着jar对您是可用的。

遵循以下步骤:

代码语言:javascript
复制
Login to the terminal
cd to the path where your jar file is
ls -ltr hivexmlserde-1.0.5.3.jar
Launch hive cli and perform following
hive> add jar hivexmlserde-1.0.5.3.jar;
Added [hivexmlserde-1.0.5.3.jar] to class path
Added resources: [hivexmlserde-1.0.5.3.jar]
hive> CREATE TABLE xml_bank(customer_id STRING, income BIGINT, demographics map<string,string>, financial map<string,string>)
    > ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe'
    > WITH SERDEPROPERTIES (
    > "column.xpath.customer_id"="/record/@customer_id",
    > "column.xpath.income"="/record/income/text()",
    > "column.xpath.demographics"="/record/demographics/*",
    > "column.xpath.financial"="/record/financial/*"
    > )
    > STORED AS
    > INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat'
    > OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
    > TBLPROPERTIES (
    > "xmlinput.start"="<record customer",
    > "xmlinput.end"="</record>"
    > );
OK
Time taken: 2.042 seconds
hive> select * from xml_bank;
OK
Time taken: 0.801 seconds
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34406012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档