gpt4 book ai didi

java - 如何在Hive中导入mongo数据?

转载 作者:行者123 更新时间:2023-12-02 18:42:04 25 4
gpt4 key购买 nike

我面临一个问题。
因此,当我尝试使用以下命令将mongo数据导入配置单元时,这给了我一个错误。

CREATE EXTERNAL TABLE gok
(
id STRING,
name STRING,
state STRING,
email STRING) STORED BY 'com.mongodb.hadoop.hive.MongoStorageHandler'
WITH SERDEPROPERTIES('mongo.columns.mapping'='{"id":"_id","name":"name","state":"state"}') TBLPROPERTIES('mongo.uri'='mongodb://localhost:27017/gokul_test.play_test');
注意:
使用的工具的版本如下:
  • Java JDK 8
  • Hadoop:2.8.4
  • 配置单元:2.3.3
  • MongoDB:4.2

  • 下面的jar版本已移至HADOOP_HOME / lib和HIVE_HOME / lib:
  • mongo-hadoop-core-2.0.2.jar
  • mongo-hadoop-hive-2.0.2.jar
  • mongo-java-driver-2.13.2.jar

  • 所以错误是

    FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org/apache/hadoop/hive/serde2/SerDe


    我尝试通过在 hive 中手动添加 jar 进行尝试,然后收到以下错误。

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


    两种错误都不同
    如果您知道任何解决方法或需要更多详细信息,请告诉我。

    最佳答案

    您应该将 jar 添加到配置单元 session 中。
    您正在使用哪个配置单元客户端?
    如果使用“直线”,则可以在尝试创建表之前添加jar的完整路径:

    beeline !connect jdbc:hive2://localhost:10000 “” ””
    因此,一旦创建 session ,就必须使用“add jar”和jar文件的完整路径添加jar:
    add jar hdfs://sandbox.hortonworks.com:8020/tmp/udfs/mongo-hadoop-hive-1.5.0-SNAPSHOT.jar;
    add jar hdfs://sandbox.hortonworks.com:8020/tmp/udfs/mongo-hadoop-core-1.5.0-SNAPSHOT.jar;
    add jar hdfs://sandbox.hortonworks.com:8020/tmp/udfs/mongodb-driver-3.0.4.jar;
    所以下一步就是删除/创建表
    DROP TABLE IF EXISTS bars;

    CREATE EXTERNAL TABLE bars
    (
    objectid STRING,
    Symbol STRING,
    TS STRING,
    Day INT,
    Open DOUBLE,
    High DOUBLE,
    Low DOUBLE,
    Close DOUBLE,
    Volume INT
    )
    STORED BY 'com.mongodb.hadoop.hive.MongoStorageHandler'
    WITH SERDEPROPERTIES('mongo.columns.mapping'='{"objectid":"_id",
    "Symbol":"Symbol", "TS":"Timestamp", "Day":"Day", "Open":"Open", "High":"High", "Low":"Low", "Close":"Close", "Volume":"Volume"}')
    TBLPROPERTIES('mongo.uri'='mongodb://localhost:27017/marketdata.minibars');
    来源: https://community.cloudera.com/t5/Support-Questions/Mongodb-with-hive-Error-return-code-1-from-org-apache-hadoop/td-p/138161

    关于java - 如何在Hive中导入mongo数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62712521/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com