MongoDB Hadoop集成
MongoDB Hadoop集成,mongodb,hadoop,Mongodb,Hadoop,我已经在我的桌面上安装了Robomongo,但我无法从Robomongo将数据摄取到蜂巢表中。我已应用了以下步骤:-
下载所需的jar-mongo-java-driver-2.13.3.jar、mongo-hadoop-core-1.4.0.jar、mongo-hadoop-hive-1.4.0.jar、mongodb-driver-3.2.1-javadoc.jar
我已将jar文件放在一个临时文件夹中
在配置单元脚本中,我添加了这些jar文件。我使用的脚本如下:-
添加JAR/tmp/mon
我已经在我的桌面上安装了Robomongo,但我无法从Robomongo将数据摄取到蜂巢表中。我已应用了以下步骤:-
下载所需的jar-mongo-java-driver-2.13.3.jar、mongo-hadoop-core-1.4.0.jar、mongo-hadoop-hive-1.4.0.jar、mongodb-driver-3.2.1-javadoc.jar
我已将jar文件放在一个临时文件夹中
在配置单元脚本中,我添加了这些jar文件。我使用的脚本如下:-
添加JAR/tmp/mongodb/jarfiles/mongo-java-driver-2.13.3.JAR
添加JAR/tmp/mongodb/jarfiles/mongo-hadoop-core-1.4.0.JAR
添加JAR/tmp/mongodb/jarfiles/mongo-hadoop-hive-1.4.0.JAR
添加JAR/tmp/mongodb/jarfiles/mongodb-driver-3.2.1-javadoc.JAR
创建表个人
(
id字符串
名称字符串
年龄串
民族弦
)
由'com.mongodb.hadoop.hive.mongostragehandler'存储
使用serdeProperty('mongo.columns.mapping'='{“id”:“\u id”,“name”:“name”,“age”:“age”,“national”:“national”}'))
TBLProperty('mongo.uri'='mongodb://localhost:port/admin.test_1');
在本地主机中,我给出了ip地址,在端口中,我给出了端口号。admin是数据库名,test_1是我试图摄取的集合。
每次运行此代码时,都会出现以下错误:-
错误:处理语句时出错:java.net.URISyntaxException:绝对URI中的相对路径:SERDEPROPERTIES('mongo.columns.mapping'='{“id”:%22_id%22,%22name%22:%22name%22,%22age%22:%22age%22,%22National%22:%22National%22%7D')(状态=,代码=1)
当我在上面的代码中使用serdeProperty('mongo.columns.mapping'='{}')并保持所有其他内容不变时,会出现以下错误:-
错误:处理语句时出错:java.net.URISyntaxException:索引13:TBLPROPERTIES('mongo.uri'='mongodb://localhost:port/admin.test_1)(状态=,代码=1)
我正在使用CDH 5.4。有人能告诉我如何解决这个问题吗?如安装中所述,连接器至少需要3.0.0版本的驱动程序“uber”jar(称为“mongo java driver.jar”)。您似乎正在使用v2.13.3,它可能还不支持Hive
您可以从页面下载v3+java uber驱动程序。在单击下载按钮之前,请确保选择了mongo java驱动程序
和特定版本。jar文件名应类似于mongo-java-driver-3.x.x.jar
我已经下载并添加了mongo-java-driver-3.2.2。但我仍然会遇到相同的错误。有解决方案吗?我还下载并添加了mongo-java-driver-3.2.2和mongodb-driver-3.2.2.jar,但我仍然收到相同的错误。需要帮助!我不确定state=,code=1
行来自何处。是否有与state
或code
相关的字段?如果有,可能发布一个示例文档。我有名为-name、age和natio的字段nality。我没有字段的命名状态或代码。我使用的确切脚本在这里。我认为状态=,代码=1与字段无关,因为当我保持mongo.columns.mapping为空时,即当我使用SerdeProperty('mongo.columns.mapping'='{}'时),即使这样,我也会得到state=,code=1错误,这与我提到mongo.column.mappingHi中的字段时的情况相同,1)您使用的是哪个MongoDB版本?2)您的部署拓扑结构是什么?即独立、副本集等。3)您不需要MongoDB驱动程序,只需要mongo java驱动程序。4)您运行的是什么操作系统?谢谢。我是使用MongoDB的3.2.3版本。独立部署。64位WIndows 7。