2017-09-26 760 views
0

我想創建可以讀取json數據的hive表,但是當我執行create語句時,它會拋出一個錯誤。Hive爲json數據創建表

創建聲明:

CREATE TABLE employee_exp_json 
(id INT, 
fname STRING, 
lname STRING, 
profession STRING, 
experience INT, 
exp_service STRING 
) 
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serede2.Jsonserede' 
STORED AS TEXTFILE; 

錯誤:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Cannot validate serde: org.apache.hadoop.hive.contrib.serede2.Jsonserede

我還添加了罐子hive-json-serde.jar,但我仍然面臨着同樣的問題。我在cloudera上創建此表,並且配置單元版本爲1.1.0。

+0

1)您在** serede2有一個錯字** 2)JSONSerde是不是該包的https: //github.com/apache/hive/tree/master/contrib/src/java/org/apache/hadoop/hive/contrib/serde2 –

回答

0

正確的類名是

org.apache.hive.hcatalog.data.JsonSerDe 

參見:Hive SerDes

至於添加的其他JAR,check its documentation。還有一個不同的類

org.openx.data.jsonserde.JsonSerDe 
0

嘗試添加json-serde-with-dependencies.jar。 您可以從 Download Hive Serde 下載它也可以嘗試類
「org.openx.data.jsonserde.JsonSerDe」