Drill用SQL分析MongoDB上的数据

Apache DrillMongoDB集成用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

}

Drill用SQL分析MongoDB上的数据_第1张图片

配置好后,点击Update,最后点击Enable。

 

2、检查配置是否成功,可以在Query执行:show databases;查看是否有mongodb的表

Drill用SQL分析MongoDB上的数据_第2张图片

这里可以看到,已经成功读取到MongoDB中系统默认库admin、config、local。

 

 

 

Drill用SQL分析MongoDB上的数据_第3张图片

 

3、现在在MongoDB创建test数据库,集合collection_20191003,并往插入一些数据。

Drill用SQL分析MongoDB上的数据_第4张图片

Drill用SQL分析MongoDB上的数据_第5张图片

 

4、在Drill上使用SQL查询MongoDB中的集合collection_20191003数据。

Drill用SQL分析MongoDB上的数据_第6张图片

上图可以看到,新创建test数据库以及读取到。

1)全表查询

select * from mongo.test.`collection_20191003`;

Drill用SQL分析MongoDB上的数据_第7张图片

Drill用SQL分析MongoDB上的数据_第8张图片

 

2)条件查询,查询name等于drill的记录

select * from mongo.test.`collection_20191003` where name = 'drill';

Drill用SQL分析MongoDB上的数据_第9张图片

Drill用SQL分析MongoDB上的数据_第10张图片

 

3)聚合查询

select address,count(*) from mongo.test.`collection_20191003` group by address;

 

Drill用SQL分析MongoDB上的数据_第11张图片

Drill用SQL分析MongoDB上的数据_第12张图片

计算每个name的平均age

select name,avg(age) from mongo.test.`collection_20191003` group by name;

Drill用SQL分析MongoDB上的数据_第13张图片

Drill用SQL分析MongoDB上的数据_第14张图片

 

 

 

 

 

你可能感兴趣的:(数据库,NoSQL,MongoDB)