【问题标题】:export data from mongo to hive将数据从 mongodb 导出到 hive
【发布时间】:2018-05-31 18:01:04
【问题描述】:
  • 我的输入:mongo db(版本 3.4.4)中的一个集合(“demo1”)
  • 我的输出:我的数据导入到 hive("demo2") 中的数据库中(版本 1.2.1.2.3.4.7-4)
  • 目的:在 mongo 和 hive 之间创建一个连接器

错误:

执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。 com/mongodb/util/JSON


我按照这些步骤尝试了 2 个解决方案(但错误仍然存​​在):

1)我在连接到 docker 的 mongo(通过 robomongo)中创建了一个本地集合

2) 我上传那些版本的 jar 并将其添加到 hive 中

 ADD JAR /home/.../mongo-hadoop-hive-2.0.2.jar;
 ADD JAR /home/.../mongo-hadoop-core-2.0.2.jar; 
 ADD JAR /home/.../mongo-java-driver-3.4.2.jar; 

不幸的是,错误并没有改变;所以我上传了那些版本,我在为我的导出选择正确的版本时犹豫不决,所以我试试这个:

ADD JAR /home/.../mongo-hadoop-hive-1.3.0.jar;
ADD JAR /home/.../mongo-hadoop-core-1.3.0.jar; 
ADD JAR /home/.../mongo-java-driver-2.13.2.jar;

3) 我创建了一个外部表

    CREATE EXTERNAL TABLE demo2
    ( 
      id INT,
      name STRING,
      password STRING,
    email STRING 
    )
    STORED BY 'com.mongodb.hadoop.hive.MongoStorageHandler'
    WITH 

SERDEPROPERTIES('mongo.columns.mapping'='{"id":"_id","name":"name","password":"password","email":"email"}')
    TBLPROPERTIES('mongo.uri'='mongodb://localhost:27017/local.demo1');
  • hive 中返回错误:

执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1。 com/mongodb/util/JSON

我该如何解决这个问题?

【问题讨论】:

  • 嗨@Liz18 你能找到解决方案吗?确实遇到了这个问题。任何帮助将不胜感激。

标签: mongodb hadoop hive


【解决方案1】:

在集群的所有节点上复制正确的 jar 文件(mongo-hadoop-core-2.0.2.jarmongo-hadoop-hive-2.0.2.jarmongo-java-driver-3.2.2.jar)对我有用。


其他需要注意的事项:


其他有用的链接

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-05-30
  • 1970-01-01
  • 2016-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多