簡體   English   中英

Apache Calcite是否提供了添加自定義子句或語句的方法?

[英]Does Apache Calcite provide a way to add custom clauses or statements?

我目前正在開發一個項目來擴展SQL的功能,以支持基於Apache Flink的更多流計算功能。

經過廣泛的搜索后,我發現Calcite是一個很好的工具,可以幫助我解析,驗證和優化這些SQL查詢,但是Calcite的流支持仍然不成熟,所以我必須根據自己的需要進行改進。

因此,我想知道是否有一種方法可以添加自定義子句

CREATE TABLE my_table (
    id   bigint,
    user varchar(20)
) PARAMS (
    connector 'kafka',
    topic     'my_topic'
)

它使用PARAMS定義如何從Kafka連接器接收數據,並將其視為動態表作為Flink的數據源。

由於關於此的信息很少,如果有人能提供一些提示,我將不勝感激。

謝謝 : )

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

SELECT和DML是標准化的,但DDL往往是特定於數據庫的,因此我們的策略是在Calcite之外進行DDL擴展。

(參見Calcite dev郵件列表 )。

使用Calcite 1.15.0,社區添加了對DDL語句的基本支持 該功能作為可選模塊實現,並顯示了如何自定義DDL語句(請參閱文檔 )。 因此,仍然期望使用Calcite的系統根據需要自定義解析器和DDL語法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM