我已经编写了这个查询来在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;
答案 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
答案 1 :(得分:0)
你必须使用maven构建克隆的项目!
mvn install 在目录/ path / directory / Hive-JSON-Serd中 这里我们在/ usr / local