Apache Calcite 在 Flink 中的应用

羊舌迪
2023-12-01

1 Apache Calcite

1.1 什么是calcite

Apache Calcite 是一个动态数据的管理框架,可以用来构建数据库系统的语法解析模块,是高性能数据库的基础

  • Standard SQL:行业标准的SQL解析器、验证器和JDBC驱动程序
  • Query optimization: 用关系代数【relational algebra】表示查询,使用规划规则【planning rules】进行转换,并根据成本模型进行优化
  • Any data, anywhere:连接到第三方数据源,浏览元数据,并通过下推进行数据计算的优化
  • 不包含数据存储、数据处理等功能
  • 可以通过编写 Adaptor 来扩展功能,以支持不同的数据处理平台,目前实现的Adaptor,如jdbc、file、elasticsearch、MongoDB、redis、kafka等

Flink SQL 使用并对其扩展以支持 SQL 语句的解析和验证

1.2 谁在用calcite

下图是一张官方提供的生态系统图,可以看到大名鼎鼎的 Hive、Flink、Druid 以及 Spark、ES 等都可以被纳入 Calcite 生态圈。

 类似资料: