mongodb-drill for sql

Apache-drill是一个sql查询引擎,可用于查询mongodb、hbase等nosql数据库,还可以查询dfs等文件系统,也可以整合hive使用。
下载链接:window:http://drill.apache.org/docs/installing-drill-on-windows/
Linu下载链接:http://drill.apache.org/docs/installing-drill-on-linux-and-mac-os-x/

Windows下载完毕后,解压即可使用
下面为在windows安装:
在dos窗口进入该文件所在目录,我的是在F:\apache-drill-1.8.0\apache-drill-1.8.0
C:\Users\MCYarn>F:
F:>cd apache-drill-1.8.0
F:\apache-drill-1.8.0>cd bin
F:\apache-drill-1.8.0>cd bin
F:\apache-drill-1.8.0\apache-drill-1.8.0\bin>sqlline.bat -u “jdbc:drill:zk=local”

Drill启动的时候是需要启动zookeeper做元数据管理和负载均衡的,这里默认启动drill自带的;
这里写图片描述
Drill的web页面默认端口号:8047
http://localhost:8047/storage
这里写图片描述
首先先测试mongodb(个人比较熟悉):
点击storage页面:
这里写图片描述
首先先测试mongodb(个人比较熟悉):
点击storage页面:
这里写图片描述

将mongodb置为enable;点击update:
这里写图片描述
设置如下,我的测试单机”mongodb://192.168.1.120:27017/”,
如果是集群的话:
“connection”: “mongodb://host1:port1,host2:port2,host3:port3/”,
然后:
进入mongodb-shell:
这里写图片描述
然后再drill的web页面:
点击query:
这里写图片描述
点击submit;
这里写图片描述
现在测试mongodb聚合
数据如下:
{ “_id” : { “oid” : “57e3f10b2e269520584405b8” }, “id” : 28, “name” : “赵金宝”, “price” : 621905.8 }  
{ “_id” : { “
oid” : “57e3f10b2e269520584405b9” }, “id” : 28, “name” : “赵金宝”, “price” : 514886.27 }
Java -Mongodb 代码:MongoClient client = new MongoClient("192.168.1.120:27017");
MongoCollection<Document> collection = client.getDatabase("drill").getCollection("drill");
List<Document> query = new ArrayList<Document>( );
query.add( new Document("$group",new Document("_id",new Document("id","$id").append("name","$name"))
.append("sum", new Document("$sum", "$price")).append("count",new Document("$sum",1))));
AggregateIterable<Document> aggregateIterable = collection.aggregate(query);
for( Document doc : aggregateIterable ){
System.out.println( doc.toJson());
}

结果:
{ “_id” : { “id” : 11, “name” : “孙勃” }, “sum” : 1289158.99, “count” : 6 }
{ “_id” : { “id” : 17, “name” : “吴龙” }, “sum” : 1350316.3, “count” : 6 }
{ “_id” : { “id” : 16, “name” : “钱盟” }, “sum” : 1363392.99, “count” : 6 }
{ “_id” : { “id” : 11, “name” : “李亚帅” }, “sum” : 1893801.0, “count” : 6 }
{ “_id” : { “id” : 17, “name” : “郑志强” }, “sum” : 715533.7100000001, “count” : 6 }
{ “_id” : { “id” : 5, “name” : “李金宝” }, “sum” : 2163953.17, “count” : 6 }
{ “_id” : { “id” : 4, “name” : “郑志强” }, “sum” : 1674297.81, “count” : 6 }
{ “_id” : { “id” : 4, “name” : “吴小龙” }, “sum” : 2451837.58, “count” : 6 }
{ “_id” : { “id” : 14, “name” : “吴浩” }, “sum” : 1726834.7799999998, “count” : 6 }
{ “_id” : { “id” : 1, “name” : “郑小龙” }, “sum” : 1687672.4800000002, “count” : 6 }
{ “_id” : { “id” : 13, “name” : “李成龙” }, “sum” : 1566990.46, “count” : 6 }
{ “_id” : { “id” : 7, “name” : “李连杰” }, “sum” : 1659086.14, “count” : 6 }
{ “_id” : { “id” : 3, “name” : “周小龙” }, “sum” : 2235389.08, “count” : 6 }
{ “_id” : { “id” : 18, “name” : “郑勃” }, “sum” : 1243336.88, “count” : 6 }
{ “_id” : { “id” : 17, “name” : “郑小龙” }, “sum” : 1321466.1800000002, “count” : 6 }
{ “_id” : { “id” : 16, “name” : “周龙” }, “sum” : 1594658.1500000001, “count” : 6 }
{ “_id” : { “id” : 5, “name” : “钱龙” }, “sum” : 2538339.22, “count” : 6 }
{ “_id” : { “id” : 15, “name” : “孙浩” }, “sum” : 1701603.25, “count” : 6 }
{ “_id” : { “id” : 1, “name” : “孙龙” }, “sum” : 307344.88, “count” : 6 }
{ “_id” : { “id” : 5, “name” : “周连杰” }, “sum” : 484948.03, “count” : 6 }
sql:
这里写图片描述

结果为:
这里写图片描述
好了今天先介绍这么多,以后drill学习笔记会跟。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值