/ / Execution Error, повернення коду 1 з org.apache.hadoop.hive.ql.exec.DDLTask. com / mongodb / util / JSON - json, mongodb, hadoop, hive

Error Execution, повернення коду 1 з org.apache.hadoop.hive.ql.exec.DDLTask. com / mongodb / util / JSON - json, mongodb, hadoop, hive

Я намагаюся з'єднати MongoDb з Hadoop. У моєму Ubuntu 14.04 встановлено Hadoop-1.2.1. Я встановив MongoDB-3.0.4, а також завантажив і додав mongo-hadoop-hive-1.3.0.jar, mongo-java-driver-2.13.2.jar банки в сечі вуликів. Я завантажив mongo-connector.sh (знайдені в цьому сайт) і включив його в Hadoop_Home / lib.

Я встановив такі вихідні та вихідні джерела:

hive> set MONGO_INPUT=mongodb://[user:password@]<MongoDB Instance IP>:27017/DBname.collectionName;
hive> set MONGO_OUTPUT=mongodb://[user:password@]<MongoDB Instance IP>:27017/DBname.collectionName;
hive> add JAR brickhouse-0.7.0.jar;
hive> create temporary function collect as "brickhouse.udf.collect.CollectUDAF";

Моя колекція в MongoDb така:

> db.shows.find()
{ "_id" : ObjectId("559eb22fa7999b1a5f50e4e6"), "title" : "Arrested Development", "airdate" : "November 2, 2003", "network" : "FOX" }
{ "_id" : ObjectId("559eb238a7999b1a5f50e4e7"), "title" : "Stella", "airdate" : "June 28, 2005", "network" : "Comedy Central" }
{ "_id" : ObjectId("559eb23ca7999b1a5f50e4e8"), "title" : "Modern Family", "airdate" : "September 23, 2009", "network" : "ABC" }
> 

Тепер я намагаюся створити таблицю вуликів

CREATE EXTERNAL TABLE mongoTest(title STRING,network STRING)
> STORED BY "com.mongodb.hadoop.hive.MongoStorageHandler"
> WITH SERDEPROPERTIES("mongo.columns.mapping"="{"title":"name",”airdate”:”date”,”network”:”name”}")
> TBLPROPERTIES("mongo.uri"="${hiveconf:MONGO_INPUT}");

Коли я запускаю цю команду, це говорить

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. com/mongodb/util/JSON

Тоді я додав hive-json-serde.jar і hive-serdes-1.0-SNAPSHOT.jar баночки і спробували знову створити таблицю. Але помилка залишається незмінною. Як я можу виправити цю помилку?

Відповіді:

3 для відповіді № 1

Я насправді додав їх mongo-hadoop-core-1.3.0.jar , mongo-hadoop-hive-1.3.0.jar і mongo-java-driver-2.13.2.jar банки в папці Hadoop_Home / lib. Потім мені вдалося отримати дані від MongoDb в Hive без будь-яких помилок.


1 для відповіді № 2

Є розумні котирування, які аналізатор бачить - "

 ”airdate”:”date”,”network”:”name”

Вони повинні бути

 "airdate":"date","network":"name"