Drill官网文档翻译三:Drill的核心模块

本文涉及的产品
推荐全链路深度定制开发平台,高级版 1个月
简介: (翻译自Drill官网) 核心模块 下图描述了一个drillbit里的各个组件 下面列出drillbit里的关键组件: RPC endpoint Drill开发了一种基于Probobuf的损耗非常低的RPC通信协议来跟客户端打交道。另外,客户端程序也可以使用C++或是JAVA api层来跟

(翻译自Drill官网)

核心模块

下图描述了一个drillbit里的各个组件
https://drill.apache.org/docs/img/DrillbitModules.png

下面列出drillbit里的关键组件:

RPC endpoint

Drill开发了一种基于Probobuf的损耗非常低的RPC通信协议来跟客户端打交道。另外,客户端程序也可以使用C++或是JAVA api层来跟Drill交互。客户端可以直接指定跟哪些Drillbit节点打交道,也可以在提交查询前通过zookeeper服务来获取一定数量的drillbit节点信息。
我们推荐客户端总是通过zookeeper,以隔离集群管理的复杂性,不用关心像添加或是删除节点等等。

SQL解析器

Drill 使用calcite 这个开源的SQL解析框架来解析接收到的SQL查询。这个解析组件的输出是一个人类语言无法描述,但是机器易于理解的逻辑计划,这个逻辑计划能够刚好描述这个sql查询。

Storage plugin interface:

Drill为好几种不同的数据源充当上面的查询层的角色。Drill里的存储层插件就描述了Drill怎样和这些数据源交互的抽象。存储插件给Drill提供以下信息:

  1. 在数据源里能得到的元数据;
  2. Drill读写数据源的接口;
  3. 数据的位置 ,以及一系列优化规则,这些优化规则能够让在特定的数据源上的drill规则执行的更高效;

在Hadoop的场景下,Drill是在提供了存储插件来处理分布式的文件和HBase.Drill也通过提供存储插件来集成了Hive的支持。

当用户通过Drill来查询文件或是HBase,他们可以直接执行,如果Hive有定义元数据的话,也可以通过Hive来执行。Drill集成Hive仅仅是为了元数据,Drill处理任何请求的时候都不执行Hive的查询执行引擎。

相关文章
|
29天前
|
数据可视化 安全 API
Qt 6.1 中的模块变更(从官网文档翻译)
Qt 6.1 中的模块变更(从官网文档翻译)
6 0
|
29天前
|
传感器 API Android开发
Qt 6.2 中的模块变更(从官网文档翻译)
Qt 6.2 中的模块变更(从官网文档翻译)
14 0
|
存储 SQL 分布式数据库
Drill官网文档翻译六:存储插件的注册
我们可以通过存储插件连接到本地文件系统,Hive,HBase,或是其他的数据源。在Drill的web界面的存储插件配置tab,你可以查看修改这些插件的配置。如果不支持HTTPS(默认就没有),你可以访问HTTP://{IP}:8047/storage 来查看和配置存储插件。可以用IP,也可以用ho.
3225 0
|
存储
Drill官网文档翻译五:连接到数据源
存储插件是Drill中,连接到数据源的模块。一个存储插件通常会优化Drill查询的执行,提供数据的定位,命名空间下的配置和读数据要用到的格式。Drill已经内置了一些存储插件,你只需要根据你的环境配置一下就可以使用了。借助存储插件,你可以连接到各种数据源,像数据库,本地或是分布式的文件,或是Hiv.
3490 0
|
存储
Drill官网文档翻译四 Drill的性能
(翻译自apache drill 官网。) Drill是从地基开始就奔向高性能和大数据集去设计的,下面列出来的是Drill能够做到高性能的核心要点。 分布式的引擎 Drill提供了一个强大的分布式引擎来处理查询。用户可以从集群的任何一个节点是提交查询。你可以添加新的节点到集群中,以为了支持更多
4492 0
|
SQL
Drill官网文档翻译二:Drill查询的执行
(翻译自Drill官网) 当您提交Drill查询的时候,客户端或应用程序会把查询以SQL语句的形式发送到Drill集群的一个Drillbit。Drillbit是在每个在线的Drill节点上运行的进程,它负责协调,规划和执行查询,并按照最大限度地实现数据本地化的原则在集群中分发查询。 下图描述了客
4777 0
|
SQL 存储 Apache
Drill官网文档翻译一 基本架构
(翻译自apache drill 官网) 架构总览 Apache drill是在大规模数据集场景下,可以低延迟地进行结构和半结构化/嵌套数据结构查询的一个分布式查询引擎。受到谷歌公司的Dremel的启发,Drill被设计出来以支持几千个节点和PB级别的数据规模下,支持交互响应级别的商务智
9092 0
|
4月前
|
自然语言处理 JavaScript 前端开发
使用Pagefind为VitePress文档添加离线全文搜索能力
前言 VitePress 相信大家都或多或少听说过或者用过了 默认 UI相比 VuePress2.x 好看,启动速度也快(由Vite驱动,当然VuePress也可以切换构建引擎至Vite) 做内容定制也相对简单,笔者的很多静态文档站点(使用VuePress1.x),文章内容多的时候启动非常的慢,于是就从之前的 VuePress 迁移到了 VitePress,并做了一个博客主题 @sugarat/theme => 之前也有过介绍一个简约风的VitePress博客主题 但是 VitePress 官方目前还没有内置开箱即用的搜索能力(相关PR还在施工中)