Apache Drill与MongoDB集成用SQL分析MongoDB数据
Apache Drill是Hadoop、NoSQL和Cloud Storage的无模式SQL查询引擎。Drill支持多种NoSQL数据库,包括Hbase、MongoDB、MapR-DB。
以下将演示Apache Drill与MongoDB的集成:
1、在Apache Driil的Web UI上配置一个Mongo storage。
{
"type": "mongo",
"connection": "mongodb://192.168.43.40:27017/",
"enabled": true
}
配置好后,点击Update,最后点击Enable。
2、检查配置是否成功,可以在Query执行:show databases;查看是否有mongodb的表
这里可以看到,已经成功读取到MongoDB中系统默认库admin、config、local。
3、现在在MongoDB创建test数据库,集合collection_20191003,并往插入一些数据。
4、在Drill上使用SQL查询MongoDB中的集合collection_20191003数据。
上图可以看到,新创建test数据库以及读取到。
1)全表查询
select * from mongo.test.`collection_20191003`;
2)条件查询,查询name等于drill的记录
select * from mongo.test.`collection_20191003` where name = 'drill';
3)聚合查询
select address,count(*) from mongo.test.`collection_20191003` group by address;
计算每个name的平均age
select name,avg(age) from mongo.test.`collection_20191003` group by name;