簡體   English   中英

Hive在HDP沙箱上添加JAR

[英]Hive ADD JAR on HDP sandbox

我需要將XML存儲在HDFS中,並在該HDFS文件夾頂部創建配置單元表。 我一直在嘗試使用此鏈接中提供的

使用Add jar命令從鏈接下載后,我已將Serde jar添加到配置單元中。

添加JAR hivexmlserde-1.0.5.3.jar

我還收到消息說“已將...添加到類路徑”

列表罐也證實了這一點。 但是當我嘗試創建同一鏈接中提到的表時,其失敗並顯示以下消息

失敗:SemanticExcepton找不到類com.ibm.spss.hive.serde2.xml.XmlInputFormat

請幫助。

注意:我使用HDP 2.3

附件是結果的屏幕截圖。 在此處輸入圖片說明

我能夠在HDP 2.3沙箱上創建表。 我了解這個問題。 添加jar和列出jar成功並不一定意味着您可以使用jar。

跟着這些步驟:

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

向jar授予正確的權限和所有權,然后運行ADD命令即可。 我不確定為什么它會這樣工作!!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM