问题标签 [apache-calcite]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
346 浏览

apache-calcite - Apache Calcite - 如何集成 CSV 和 MySQL

通过命令连接很容易使用每个适配器。

例如: !connect jdbc:calcite:model=target/test-classes/model.json admin admin

但我没有在文档中找到如何进行涉及异构源的查询。

我想做一个涉及两个源中的实体的查询,CSV 和 MySQL。

0 投票
1 回答
239 浏览

elasticsearch - 方解石弹性搜索适配器高效连接

实现 JOIN 重写以允许向查询提供子查询结果的正确方法是什么?例如:

该查询被重写为 SemiJoin,它执行表扫描内部查询(按预期再次选择 _people_view_),然后再次对外部查询进行表扫描(选择 _zips_view_)。第二次扫描可以替换为过滤查询,例如

什么是实现“两阶段”JOIN 的正确方法,它获取子查询的结果并将它们作为过滤器/条件添加到外部查询?

0 投票
1 回答
552 浏览

apache-calcite - Apache Arrow 适配器与 Apache Calcite 集成

是否有任何现成的选项可以集成 apache arrow 和 apache calcite?

我观察到 CSV、JSON 具有这种集成功能。但 Apache Arrow 没有这个。

我们必须像calcite-arrow-sample一样编写所有这些类,因为它本身并不容易从 api 获得。

0 投票
1 回答
1689 浏览

java - Avatica Calcite JDBC 驱动程序问题

尝试通过 Java Web App 获取连接时出现以下错误。有人遇到过这个问题吗?

代码:

0 投票
1 回答
1162 浏览

apache-calcite - Apache Calcite - 似乎无法解析 DDL 语句

以下是我用来解析 MySQL 语句的配置。我能够很好地解析和处理 DML 语句,但我似乎无法解析任何 DDL 语句(CREATE TABLE、ALTER TABLE、DROP TABLE 等)。

当我尝试解析CREATE TABLE语句时,它给了我以下错误消息。

我可以在库中看到像SqlAlter, SqlCreate,这样的类。SqlDrop是否有不同的方法来解析 DDL?

我正在使用1.17.0版本。

0 投票
1 回答
270 浏览

java - 为什么 Flink SQL 对所有表都使用 100 行的基数估计?

我不确定为什么在这个例子中没有正确评估逻辑计划。

我更深入地查看了 Flink 基本代码,并检查了当 calcite 评估/估计对象中查询的行数时。出于某种原因,对于任何表源,它总是返回100

实际上在 Flink 中,在创建程序计划的过程中,对于每一个转换后的规则,它都被TableEnvironment .runVolcanoPlanner 称为VolcanoPlanner类 。计划者尝试通过调用RelMetadataQuery .getRowCount来优化和计算一些估计

我通过创建一个失败的测试来重现该错误,该测试应该将 0 断言为关系表“S”的行数,但它始终返回 100。

为什么会这样?有人对这个问题有答案吗?

0 投票
1 回答
1218 浏览

apache-flink - 将 ROW() 用于嵌套数据结构

我已经成功地使用来自 flink-json 工件的 JsonRowSerializationSchema 来TableSink<Row>使用 ROW 从 SQL 创建和输出 json。它非常适合发出平面数据:

现在,我正在尝试一个嵌套模式,它以一种奇怪的方式分解:



这是一个解析问题,但我对它为什么会发生感到困惑。col1 和 'ttt' 是 String 类型的表达式,应该是可替换的;但不知何故,解析器受到以下行的干扰,正如堆栈跟踪所说:

我错过了一些关于语法的东西吗?解析器试图做什么?我应该以另一种方式使用 ROW() 吗?

这是一个错误吗?

0 投票
2 回答
787 浏览

scala - Scala 错误:java.sql.SQLException:找不到适合 jdbc:calcite 的驱动程序:

我使用maven-assembly-plugin. 现在,当我用它执行 jar 时java -jar path\to\jar\myapp.jar会引发以下错误:

当我通过 IDE (IntelliJ) 运行应用程序时,它运行良好。

谁能告诉我为什么会这样?

EDIT1:我打开了 jar 文件,发现calcite-corejar 存在于org/apache/calcitejar 中。

EDIT2:我尝试更改calcite-core. 我之前使用1.15.0过,现在我正在使用1.18.0,但错误仍然存​​在。

0 投票
1 回答
482 浏览

apache-flink - 如何在 Apache Flink 中创建外部目录表

我尝试创建和 ExternalCatalog 以在 Apache Flink 表中使用。我创建并添加到 Flink 表环境(这里是官方文档)。由于某种原因,“目录”中存在的唯一外部表在扫描期间未找到。我在上面的代码中遗漏了什么?

上面的例子是git中这个测试文件的一部分。

0 投票
1 回答
208 浏览

sql - Apache Calcite 仅在使用带有无类型空值的 COALESCE 时引发错误

SELECT COALESCE(NULL, NULL);Apache Calcite 上运行时,我收到一个错误消息

ELSE 子句或至少一个 THEN 子句必须为非 NULL

发生这种情况是因为COALESCE函数被转换为CASE表达式并且后者被验证是否至少一个THENELSE操作数不为空。如果都是NULL,则抛出错误。这是由源代码中的评论中描述的原因引起的:

根据 sql 标准,我们不能让所有 THEN 语句和 ELSE 返回 null

需要注意的一点是,NULL当显式转换任何参数时,此查询将返回,例如SELECT COALESCE(CAST(NULL AS VARCHAR), NULL);.

但是我无法在任何地方找到这个。我所做的发现如下 (参见“应对 null 的缩写”部分,重点是我的):

Coalesce 返回第一个非空参数(如果所有参数都为空,则返回空)。

上面提供的这个声明似乎符合OraclePostreSQL文档。

我的问题是,COALESCE包含文字NULLs 是否应该仅按照 SQL 标准工作?