Apache Drill详解

Apache Drill 调研学习

一、Drill概述

在大数据时代,对于Hadoop中的信息,越来越多的用户需要能够获得快速且互动的分析方法。大数据面临的一个很大的问题是大多数分析查询都很缓慢且非交互式。目前来看,MapReduce通常用于执行Hadoop数据上的批处理分析,但并不适合于你想快速得到结果或者重新定义查询参数。Google的Dremel能以极快的速度处理网络规模的海量数据。据谷歌的研究报告显示,Dremel能以拍字节(petabyte,PB,1PB等于1024TB)的数量级来进行查询,而且只需几秒钟时间就能完成。而其对应的开源版本就是Drill。(ps:drill其实就是一个分布式实时数据分析查询的引擎。Drill,一个专为互动分析大型数据集的分布式系统。)
Apache Drill是一个低延迟的分布式海量数据(涵盖结构化、半结构化以及嵌套数据)交互式查询引擎,使用ANSI SQL兼容语法,支持本地文件、HDFS、HBase、MongoDB等后端存储,支持Parquet、JSON、CSV、TSV、PSV等数据格式。本质上Apache Drill是一个分布式的mpp(大规模并行处理)查询层。Drill的目的在于支持更广泛的数据源,数据格式,以及查询语言。受Google的Dremel启发,Drill满足上千节点的PB级别数据的交互式商业智能分析场景。

二、GoolDremal设计思想

随着Hadoop的流行,大规模的数据分析系统已经越来越普及。数据分析师需要一个能将数据玩转的交互式系统。如此就可以非常便捷的浏览数据建立分析模型。Dremal有一下几个主要特点:

  1. Dremal是一个大规模系统。在一个PB级别的数据集上面将任务缩短到秒级别,无疑需要大量的并发。磁盘的顺序读写在100mb/s上下,那么在一秒内处理1TB数据则意味着最少要1万个磁盘的,但是机器越多就越容易出问题,如此大的集群需要有足够的容错考虑,保证分析速度不被坏节点影响。

  2. Dremal是MR交互式能力不足的补充。和MR一样,Dremal也需要和数据运行在一起,将计算移动到数据上面。所以需要像GFS一样文件系统作为存储层。在设计之初, Dremal并非是MR的替代品,他只是可以非常快的分析,在使用的时候,常常使用它来处理MR的结果集或者建立分析原型。

  3. Dremal的数据集是嵌套的。互联网数据常常是非关系型的。Dremal还需要一个灵活的数据模型,这个模型至关重要。Dremal支持一个嵌套的数据模型,类似于json。而传统的关系模型,由于不可避免的大量join操作,在处理大规模数据的时候,往往是有心无力。

  4. Dremal的数据是列示存储的。使用列示存储可以再查询只需要的那部分数据的时候减少cpu和磁盘的访问量。同时列示存储是压缩友好的,使用压缩可以综合cpu和磁盘,发挥最大效能。

  5. Dremal结合了web搜索和DBMS的技术。首先他借鉴了web搜索中的“查询树”概念,将一个相巨大复杂的查询,分割成较小较简单的查询。大事化小小事化了,能并发的在大量节点上跑。其次和并行DBMS一样,Dremal可以提高一个SQL-like的接口像hive和pig一样。

三、Drill的优势

  1. 学习成本低
  2. 低延迟的SQL查询
  3. 动态查询自描述数据文件(json,text,Parquet),MPR-DB/Hbase表,不需要元数据定义的hive元数据。ANSI SQL
  4. 嵌套数据支持
  5. 与ApacheHive一体化(Hive表和视图的查询,支持所有的Hive文件格式和HiveUDFS)
  6. BI/SQL工具集成使用标准的JDBC驱动程序
  7. 访问多个数据源
  8. 用户自定义UDF
  9. 高性能(设计上高吞吐量和低延迟,不使用通用的执行引擎,柱形矢量引擎)

四、Drill架构

Drill的核心是DrillBit服务,主要负责接收客户端的请求,处理查询,并将结果返回给客户端。
DrillBit能够安装和运行在hadoop集群中所需要的节点上形成一个分布式环境。当DrillBit运行在集群上的节点上时,能够最大程度的实现数据本地化的执行,不要进行网络和节点间的数据移动。Drill使用Zookeeper来维护和管理集群节点和节点的健康状况。
尽管DrillBit运行在Hadoop集群中,不过他不依赖与hadoop集群,可以运行在任何的分布式系统中。
DrillBit架构如下图所示:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值