2015-12-21 48 views
0

我需要將HDFS存儲在HDFS中,並在該HDFS文件夾的頂部創建配置單元表。我一直在嘗試使用這個提供的linkHive在HDP沙箱上添加JAR

我已經使用Add jar命令從link下載了serde jar添加到配置單元。

ADD JAR hivexmlserde-1.0.5.3.jar

我也得到了消息,說 「添加...到classpath」

列表罐子也證實了。但是當我嘗試創建表在同一link提到的,它的失敗,出現以下消息

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

請幫忙。

注:我用的HDP 2.3

附上結果的截圖。 enter image description here

回答

0

給予正確的權限和所有權的罐子,然後運行ADD命令工作。我不知道它爲什麼這樣工作,但!

1

我可以在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 
+0

嗨杜爾加,我添加了屏幕截圖 – learninghuman

+0

你可以嘗試在終端直接而不是通過瀏覽器? –

+0

新增步驟,我明白問題所在。即使沒有註冊jar文件,添加jar和list jar也可以成功。 –