- 博客(3)
- 收藏
- 关注
原创 Apache Calcite SQL Parser 原理剖析
为了能够灵活地支持数据库方言,Calcite SQL Parser 支持用户扩展,通过 Freemarker 模板可以将 Calcite 内置的解析文件和用户自定义的解析文件整合到一个 JavaCC 文件中,从而实现 SQL 解析能力的扩展。介绍,JavaCC 是当前流行的解析生成器,它可以读取语法规则,并将语法规则转换为 Java 程序,通过生成的 Java 程序,可以很方便地完成语法解析过程中的词法分析和语法分析(和 JavaCC 类似,Antlr 是另外一款流行的解析器,读者感兴趣可以参考。
2025-01-06 08:04:52
1601
原创 Apache Calcite 快速入门指南
可以看到,经过 CsvProjectTableScanRule 优化后,逻辑计划树中只有一个 CsvTableScan 算子,内部包含了 table 和 fields,可以在数据扫描时过滤投影列(和 Projection 下推类似,我们也可以将 Filter 下推到 TableScan 中,减少加载到内存的数据行,Filter 下推读者可以自行尝试下)。本文由于篇幅原因,先从优化器的外部接口了解其功能,暂时不做过多的探究,在后续的文章中,我们将深入学习这两种优化器的内部实现。Calcite 优化器会调用。
2025-01-03 08:31:02
2113
原创 Apache Calcite 快速入门指南
可以看到,经过 CsvProjectTableScanRule 优化后,逻辑计划树中只有一个 CsvTableScan 算子,内部包含了 table 和 fields,可以在数据扫描时过滤投影列(和 Projection 下推类似,我们也可以将 Filter 下推到 TableScan 中,减少加载到内存的数据行,Filter 下推读者可以自行尝试下)。本文由于篇幅原因,先从优化器的外部接口了解其功能,暂时不做过多的探究,在后续的文章中,我们将深入学习这两种优化器的内部实现。Calcite 优化器会调用。
2023-10-02 13:26:50
1763
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人