gpt4 book ai didi

sql - Apache Calcite 是否提供添加自定义子句或语句的方法?

转载 作者:行者123 更新时间:2023-12-03 18:54:26 30 4
gpt4 key购买 nike

我目前正在开展一个项目,以扩展 SQL 的功能以支持更多基于 Apache Flink 的流计算功能。

经过大量搜索,我发现 Calcite 是一个很好的工具,可以帮助我解析、验证和优化那些 SQL 查询,但 Calcite 的流式支持还不成熟,所以我必须对其进行改进以满足我的需求。

因此,我想知道是否有办法添加像

这样的自定义子句
CREATE TABLE my_table (
id bigint,
user varchar(20)
) PARAMS (
connector 'kafka',
topic 'my_topic'
)

它使用 PARAMS 来定义如何从 Kafka 连接器接收数据,并将其视为 Flink 的动态表数据源。

由于这方面的信息太少,如果有人能提供一些提示,我将不胜感激。

谢谢你:)

最佳答案

在最新版本(1.15.0,2017 年 12 月 11 日)之前,Apache Calcite 不支持 DDL 语句,例如 CREATE TABLEDROP TABLE。原因是

SELECT and DML are standardized, but DDL tends to be database-specific, so our policy is that you make DDL extensions outside of Calcite.

(参见 Calcite dev mailing list)。

对于 Calcite 1.15.0,社区添加了 basic support for DDL statements .该功能作为可选模块实现,并展示了如何自定义 DDL 语句(请参阅 documentation)。因此,仍然希望使用 Calcite 的系统可以根据需要自定义解析器和 DDL 语法。

关于sql - Apache Calcite 是否提供添加自定义子句或语句的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48123656/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com