1.下载
wget http://repo1.maven.org/maven2/org/mongodb/mongo-hadoop/mongo-hadoop-hive/2.0.2/mongo-hadoop-hive-2.0.2.jar
wget http://repo1.maven.org/maven2/org/mongodb/mongo-hadoop/mongo-hadoop-core/2.0.2/mongo-hadoop-core-2.0.2.jar
wget http://repo1.maven.org/maven2/org/mongodb/mongo-java-driver/3.6.0/mongo-java-driver-3.6.0.jar
2.放入hive的lib目录
cp /root/mongo-hadoop/mongo-hadoop-core-2.0.2.jar .
cp/root/mongo-hadoop/mongo-hadoop-hive-2.0.2.jar .
cp /root/mongo-hadoop/mongo-java-driver-3.6.0.jar .
3.改变所属
cd /home/hadoop/hive/lib
chown -R hadoop.hadoop *
4.hive建表,连接MongoDB
CREATE EXTERNAL TABLE ccc
(
id string,
min_other_balance INT,
oil_names array<string>,
bank_account_name string
)
STORED BY 'com.mongodb.hadoop.hive.MongoStorageHandler'
WITH SERDEPROPERTIES('mongo.columns.mapping'='{"id":"_id","min_other_balance":"min_other_balance","oil_names":"oil_names","bank_account_name":"bank_account.name"}')
TBLPROPERTIES('mongo.uri'='mongodb://dddd8:dddd8e@10.10.10.10:27017/bdb.ccc');
5.查询
select * from ccc
注意:
1. set mongo.input.split.create_input_splits=false; 如果需要split权限但没有
2.在mongodb中设置权限