Calcite 元数据定义
约 270 字小于 1 分钟
Calcite 元数据定义
Calcite 执行流程的核心, 主要是三个部分:
- Calcite 元数据的定义
- 优化规则的管理
- 最优计划的执行
元数据主要用于对 SqlNode 语法树进行校验,并为 CBO 优化中代价的计算提供统计信息。
优化规则被 Calcite 优化器使用,用来对逻辑计划进行改写,并生成最优的执行计划。
最终,执行器会基于最优的执行计划,在不同的存储引擎上进行执行。

Calcite 元数据的定义
以calcite example 中的 Caclite 集成 CSV 示例来举例, 元数据文件在 src/test/resources/model.json。
{
"version":"1.0",
// 默认 schema
"defaultSchema":"SALES",
"schemas":[
{
// schema 名称
"name":"SALES",
// type 定义数据模型的类型,custom 表示自定义数据模型
"type":"custom",
// schema 工厂类
"factory":"org.apache.calcite.adapter.csv.CsvSchemaFactory",
"operand":{
"directory":"sales"
}
}
]
}
Calcite 元数据定义主要包含以下几部分:
- Schema:用于描述数据源的元数据,包括表、视图、函数等。