drill源码分析_利用Drill 1.2中的新功能– ANSI SQL分析/窗口功能

drill源码分析 今天,我们非常高兴地宣布,最新版本的Apache Drill 1.2)作为MapR发行版的一部分。 可下载适用于MapR的Drill 1.2软件包http://doc.mapr.com/display/MapR/Apache+Drill+on+MapR 您可以使用MapR沙箱和该教程的各种动手进行试验, 网址为https://www.mapr.com/products/m...
摘要由CSDN通过智能技术生成

drill源码分析

今天,我们非常高兴地宣布,最新版本的Apache Drill 1.2)作为MapR发行版的一部分。 可下载适用于MapR的Drill 1.2软件包http://doc.mapr.com/display/MapR/Apache+Drill+on+MapR
您可以使用MapR沙箱和该教程的各种动手进行试验, 网址https://www.mapr.com/products/mapr-sandbox-hadoop/download-sandbox-drill

自从最初的Beta版本可用(Sep'14)以来,Apache Drill已经获得了广泛的用户采用和社区动力。 许多客户已经在生产环境中部署并使用了Drill,他们发现Drill在其环境中具有各种用例,例如数据探索,Hadoop Data Lake上的Adhoc查询/ BI和JSON数据分析,这些工具非常有价值。

Drill的通用版本1.0于15年5月发布,Drill 1.1则于15年7月初发布。 这些发行版中的每一个都为Drill的交互式自助服务数据探索和即席SQL查询功能添加了重要的新功能,并使其在规模和可管理性方面都可用于企业。 Drill 1.2在基础上进行了扩展,并通过高级SQL支持,更深入的Hive集成和性能增强提高了标准。 Drill 1.2包含超过250个错误修复程序,以及包括以下内容在内的多项新增强功能。

  • 新的ANSI SQL分析/窗口函数-超前/滞后,First_Value / Last_Value,NTile
  • 优化的Hive表读取功能
  • 支持多个Hive版本
  • 元数据缓存可提高大型木地板文件的查询性能
  • 改进了对HBase / MapR-DB表的行键下推
  • 钻研Web UI安全性
  • 删除表命令
  • 内存处理方面的改进

在此博客文章中,我想简要介绍Drill添加的新分析功能,即符合ANSI SQL的Analytic和Window函数,以及如何开始使用这些功能。 Drill中SQL窗口函数包括对PARTITION BY和OVER子句的支持,各种汇总窗口函数的总和,最大值,最小值,计数,平均和分析函数,例如First_Value,Last_Value,Lead,Lag,NTile,Row_Number,Rank。 窗口函数具有高度的通用性,可以使用户减少需要编写的,自然适合的联接,子查询,显式游标,从而无需花费很多代码即可解决各种用例。

在我以前的文章中, 将原始数据变成真正的见解使用高度动态的数据集 ,我已经使用Yelp的示例业务评论演示数据集在Drill中演示了各种查询功能。 这篇文章继续利用相同的数据集来展示分析/窗口功能。

首先,让我们以嵌入式模式启动Drill(也可以使用分布式模式)

NRentachintala-MAC:bin nrentachintala$ ./drill-embedded
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=512M; support was removed in 8.0
Oct 19, 2015 9:20:03 AM org.glassfish.jersey.server.ApplicationHandler initialize
INFO: Initiating Jersey application, version Jersey: 2.8 2014-04-29 01:25:26...
apache drill 1.2.0 
"a drill in the hand is better than two in the bush"

在钻取中列出可用的架构。

0: jdbc:drill:zk=local> show schemas;
+---------------------+
|     SCHEMA_NAME     |
+---------------------+
| INFORMATION_SCHEMA  |
| cp.default          |
| dfs.default         |
| dfs.root            |
| dfs.tmp             |
| dfs.yelp            |
| sys                 |
+---------------------+

7 rows selected (1.755 seconds)

切换到使用已加载Yelp数据的工作空间。

0: jdbc:drill:zk=local> use dfs.yelp;
+-------+---------------------------------------+
|  ok   |                summary                |
+-------+---------------------------------------+
| true  | Default schema changed to [dfs.yelp]  |
+-------+---------------------------------------+

1 row selected (0.129 seconds)

让我们开始探索Yelp数据集中可用的数据集之一-商业信息

0: jdbc:drill:zk=local> select * from `business.json` limit 1;
+-------------+--------------+-
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值