2014-10-30 5 views
6

मैंने इस क्वेरी को हाइव पर एक टेबल बनाने के लिए लिखा है। मेरा डेटा प्रारंभ में जेसन प्रारूप में है, इसलिए मैंने डाउनलोड किया है और सेर्डे का निर्माण किया है और इसे चलाने के लिए आवश्यक सभी जार जोड़े हैं। लेकिन मैं निम्नलिखित त्रुटि हो रही है:serde मान्य नहीं कर सकता: org.openx.data.jsonserde.jsonserde

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

आप इस त्रुटि के लिए किसी भी समाधान मिल सकता है। मुझे एक ही समस्या है और मुझे नहीं पता क्यों। – xxlali

उत्तर

5

मैं भी इस समस्या का सामना करना पड़ा। मेरे मामले में, मैं जैसा कि नीचे दिखाया hive कमांड प्रॉम्प्ट पर json-serde-1.3.7-SNAPSHOT-jar-with-dependencies.jar जोड़कर इस समस्या को हल करने में कामयाब रहे:

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

+0

हर बार जब मैं इस तालिका से पूछताछ करने के लिए हाइव प्रॉम्प्ट खोलता हूं, तो मुझे चरण 6 फिर से चलाया जाना चाहिए (JAR/usr/local/Hive-JSON-Serde/.... जोड़ें)। क्या कोई कॉन्फ़िगरेशन है जिसे मैं हर बार स्वचालित रूप से लोड करने के लिए बदल सकता हूं? –

+0

इसे स्वचालित रूप से लोड करने के लिए, ~/.hiverc फ़ाइल का उपयोग करें। –

+0

लगता है कि संरचना में बदलाव आया है, मुझे यह त्रुटि मिल रही है: निर्देशिका नहीं मिली:/home/hadoop/JsonSerDe/Hive-JSON-Serde/json/target/classes –

संबंधित मुद्दे