Apache Drill核心模块

肖钟城
  • 大数据技术栈
  • Drill
大约 1 分钟

Apache Drill核心模块

下图表示每个 Drillbit 中的组件:

RPC 端点:Drill 公开了一个低开销的基于 protobuf 的 RPC 协议来与客户端通信。 此外,C++ 和 Java API 层也可用于客户端应用程序与 Drill 交互。 客户端可以直接与特定的 Drillbit 通信,或者通过 ZooKeeper quorum 在提交查询之前发现可用的 Drillbit。 建议客户端始终通过 ZooKeeper,以保护客户端免受集群管理的复杂性影响,例如添加或删除节点。

SQL 解析器:Drill 使用开源 SQL 解析器框架 Calcite 来解析传入的查询。 解析器组件的输出是一个语言不可知的、计算机友好的逻辑计划,代表查询。

存储插件接口:Drill 充当多个数据源之上的查询层。 Drill 中的存储插件代表了 Drill 用来与数据源交互的抽象。 存储插件为 Drill 提供以下信息:

  • 源中可用的元数据
  • Drill 读取和写入数据源的接口
  • 数据位置和一组优化规则,以帮助在特定数据源上高效快速地执行 Drill 查询

在 Hadoop 的上下文中,Drill 为分布式文件和 HBase 提供了存储插件。 Drill 还使用存储插件与 Hive 集成。

当用户使用 Drill 查询文件和 HBase 时,他们可以直接执行或通过 Hive(如果他们在 Hive 中定义了元数据)。 Drill 与 Hive 的集成仅用于元数据。 Drill 不会为任何请求调用 Hive 执行引擎。

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.1