Apache Drill Architecture Introduction

Apache Drill 是一款用于大规模数据集的低延迟分布式查询引擎,能够处理结构化和半结构化数据,如 JSON 和 Parquet。它受到谷歌 Dremel 的启发,并支持 PB 级数据的 BI 分析。Drill 不需要中心化的元数据存储,可以在查询过程中动态识别 schema,并且可以在任何集群环境中运行,仅依赖 Zookeeper。此外,Drill 提供了灵活的列式数据模型,支持复杂的嵌套数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache Drill是一个低延迟的分布式的查询引擎,适用于大规模的数据集、结构化和半结构化的数据。灵感来源于谷歌的Dremel(谷歌的交互式数据分析系统)。Drill可以搭建上千节点的集群,支持PB级的数据的交互式(例如BI分析)的查询。

Drill 也很适合大数据的即席查询,支持嵌套格式的数据查询,例如: JSON、Parquet,可以发现动态的模式。Drill不要求有一个中心化的元数据库。

Drill包含了一个分布式的执行环境,目的是为了构建大规模数据的处理。Drill的核心是"Drillbit"的服务,Drillbit负责从客户端接受请求、处理查询和返回结果给客户端。

Drillbit服务可以安装和运行在hadoop集群上的所有需求的节点上,形成一个分布式集群环境。Drillbit服务运行在集群的每个数据节点上, Drill可以在查询过程中最大限度的使用本地数据,而不需要通过网络移动节点之间的数据。Drill用户zookeeper保存集群成员之间关系和健康检测的信息。

尽管Drill运行在Hadoop集权环境,但不依赖于Hadoop, 可以运行在任何集群环境中。Drill唯一依赖的只有Zookeeper。

 

动态schema识别

Drill执行查询,不要求schema或者规范的数据类型。Drill开始批量的处理数据,在处理过程中发现schema。例如Parquet, JSON, AVRO和NoSQL数据库本身有数据的格式的数据,在查询期间会动态的利用他的数据格式。因为在Drill查询的过程中,schema会动态的改变,许多Drill的操作者面临schema发生变化时,都需要重新配置。

 

 

可伸缩的数据模型

Drill允许访问嵌入式的数据属性,就好像SQL的列,为了更好的操作他们,提供直观的扩展。从架构的角度来看,Drill提供了一个灵活的柱状的数据模型,可以展现复杂的,高度动态和不断变化的数据模型。在Drill中,关系型数据会被认为是复杂的或者简单的复杂/多结构的数据。

 

去中心化的元数据

Drill没有中心化元数据的需求,你不需要在元书库中创建和管理表和视图,也不需要依靠数据管理员去管理这样的功能。Drill元数据来源存于存储插件(相关的数据源),  存储插件提供了广泛的元数据范围,从完整的元数据(HIVE)、部分元数据(HBASE)或者去中心化的元数据(文件)。去中心化的元数据意味着Drill不是依赖于单个HIVE信息库。一旦你可以查询多个HIVE信息库,然后可以用这些信息组合数据,从HABSE 表或者一个人分布式文件。

You can query multiple Hive repositories at once and then combine the data with information from HBase tables or with a file in a distributed file system. You can also use SQL DDL statements to create metadata within Drill, which gets organized just like a traditional database. Drill metadata is accessible through the ANSI standard INFORMATION_SCHEMA database.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值