Hive是否可以访问具有用户名和密码的Mongo数据库?

时间:2018-11-14 09:49:40

标签: mongodb hive

在mongodb中有一个名为“数据”的集合。现在,我使用MongoDB Connector for Hadoop(hive)连接集合。其中包含用户名和密码。

我的创建语句是

CREATE EXTERNAL TABLE withpa2
( 
  name STRING,
  age INT
)
STORED BY 'com.mongodb.hadoop.hive.MongoStorageHandler' 
WITH SERDEPROPERTIES('mongo.columns.mapping'='{"id":"_id"}')
TBLPROPERTIES('mongo.uri'='mongodb://username:password@localhost:27017/test.data');

我能够创建表,但是当我尝试访问数据时

使用:

select * from withpa2;

找到各自的错误:

Exception in thread "main" java.lang.IllegalAccessError: tried to access field org.apache.hadoop.hive.ql.io.HiveInputFormat.LOG from class com.mongodb.hadoop.hive.input.HiveMongoInputFormat
at com.mongodb.hadoop.hive.input.HiveMongoInputFormat.getSplits(HiveMongoInputFormat.java:81)
at com.mongodb.hadoop.hive.input.HiveMongoInputFormat.getSplits(HiveMongoInputFormat.java:44)
at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextSplits(FetchOperator.java:371)
at org.apache.hadoop.hive.ql.exec.FetchOperator.getRecordReader(FetchOperator.java:303)

但是我可以访问其他没有用户名和密码的mongo数据库

0 个答案:

没有答案