无法验证serde:org.openx.data.jsonserde.jsonserde

时间:2014-10-30 03:02:35

标签: java json hadoop hive

我已经编写了这个查询来在hive上创建一个表。我的数据最初是json格式,所以我已经下载并构建serde并添加了运行所需的所有jar。但我收到以下错误:

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Cannot validate serde: org.openx.data.jsonserde.JsonSerDe

QUERY:

create table tip(type string,
  text string,
  business_id string,
  user_id string,
  date date,
  likes int)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
WITH SERDEPROPERTIES("date.mapping"="date")
STORED AS TEXTFILE;

2 个答案:

答案 0 :(得分:5)

我也遇到过这个问题。在我的情况下,我设法通过在 json-serde-1.3.7-SNAPSHOT-jar-with-dependencies.jar 命令提示符处添加 hive 来解决此问题,如下所示:

hive> ADD JAR /usr/local/Hive-JSON-Serde/json-serde/target/json-serde-1.3.7-SNAPSHOT-jar-with-dependencies.jar;

以下是我在Ubuntu 14.04上遵循的步骤:

1. Fire up Linux terminal and cd /usr/local

2. sudo git clone https://github.com/rcongiu/Hive-JSON-Serde.git

3. sudo mvn -Pcdh5 clean package

4. The serde file will be in 
   /usr/local/Hive-JSON-Serde/json-serde/target/json-serde-1.3.7-SNAPSHOT-jar-with-dependencies.jar

5. Go to hive prompt and ADD JAR file as shown in Step 6.

6. hive> ADD JAR /usr/local/Hive-JSON-Serde/json-serde/target/json-serde-1.3.7- SNAPSHOT-jar-with-dependencies.jar;

7. Now create hive table from hive> prompt. At this stage, Hive table should be created successfully without any error.

Hive版本:1.2.1

Hadoop版本:2.7.1

参考:Hive-JSON-Serde

答案 1 :(得分:0)

你必须使用maven构建克隆的项目!

  

mvn install   在目录/ path / directory / Hive-JSON-Serd中   这里我们在/ usr / local