2015-12-21 81 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也可以成功。 –