问题标签 [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.
apache-calcite - Apache Calcite - 如何集成 CSV 和 MySQL
通过命令连接很容易使用每个适配器。
例如: !connect jdbc:calcite:model=target/test-classes/model.json admin admin
但我没有在文档中找到如何进行涉及异构源的查询。
我想做一个涉及两个源中的实体的查询,CSV 和 MySQL。
elasticsearch - 方解石弹性搜索适配器高效连接
实现 JOIN 重写以允许向查询提供子查询结果的正确方法是什么?例如:
该查询被重写为 SemiJoin,它执行表扫描内部查询(按预期再次选择 _people_view_),然后再次对外部查询进行表扫描(选择 _zips_view_)。第二次扫描可以替换为过滤查询,例如
什么是实现“两阶段”JOIN 的正确方法,它获取子查询的结果并将它们作为过滤器/条件添加到外部查询?
apache-calcite - Apache Arrow 适配器与 Apache Calcite 集成
是否有任何现成的选项可以集成 apache arrow 和 apache calcite?
我观察到 CSV、JSON 具有这种集成功能。但 Apache Arrow 没有这个。
我们必须像calcite-arrow-sample一样编写所有这些类,因为它本身并不容易从 api 获得。
java - Avatica Calcite JDBC 驱动程序问题
尝试通过 Java Web App 获取连接时出现以下错误。有人遇到过这个问题吗?
代码:
apache-calcite - Apache Calcite - 似乎无法解析 DDL 语句
以下是我用来解析 MySQL 语句的配置。我能够很好地解析和处理 DML 语句,但我似乎无法解析任何 DDL 语句(CREATE TABLE、ALTER TABLE、DROP TABLE 等)。
当我尝试解析CREATE TABLE
语句时,它给了我以下错误消息。
我可以在库中看到像SqlAlter
, SqlCreate
,这样的类。SqlDrop
是否有不同的方法来解析 DDL?
我正在使用1.17.0
版本。
java - 为什么 Flink SQL 对所有表都使用 100 行的基数估计?
我不确定为什么在这个例子中没有正确评估逻辑计划。
我更深入地查看了 Flink 基本代码,并检查了当 calcite 评估/估计对象中查询的行数时。出于某种原因,对于任何表源,它总是返回100。
实际上在 Flink 中,在创建程序计划的过程中,对于每一个转换后的规则,它都被TableEnvironment .runVolcanoPlanner 称为VolcanoPlanner类 。计划者尝试通过调用RelMetadataQuery .getRowCount来优化和计算一些估计
我通过创建一个失败的测试来重现该错误,该测试应该将 0 断言为关系表“S”的行数,但它始终返回 100。
为什么会这样?有人对这个问题有答案吗?
apache-flink - 将 ROW() 用于嵌套数据结构
我已经成功地使用来自 flink-json 工件的 JsonRowSerializationSchema 来TableSink<Row>
使用 ROW 从 SQL 创建和输出 json。它非常适合发出平面数据:
现在,我正在尝试一个嵌套模式,它以一种奇怪的方式分解:
这是一个解析问题,但我对它为什么会发生感到困惑。col1 和 'ttt' 是 String 类型的表达式,应该是可替换的;但不知何故,解析器受到以下行的干扰,正如堆栈跟踪所说:
我错过了一些关于语法的东西吗?解析器试图做什么?我应该以另一种方式使用 ROW() 吗?
这是一个错误吗?
scala - Scala 错误:java.sql.SQLException:找不到适合 jdbc:calcite 的驱动程序:
我使用maven-assembly-plugin
. 现在,当我用它执行 jar 时java -jar path\to\jar\myapp.jar
会引发以下错误:
当我通过 IDE (IntelliJ) 运行应用程序时,它运行良好。
谁能告诉我为什么会这样?
EDIT1:我打开了 jar 文件,发现calcite-core
jar 存在于org/apache/calcite
jar 中。
EDIT2:我尝试更改calcite-core
. 我之前使用1.15.0
过,现在我正在使用1.18.0
,但错误仍然存在。
sql - Apache Calcite 仅在使用带有无类型空值的 COALESCE 时引发错误
在SELECT COALESCE(NULL, NULL);
Apache Calcite 上运行时,我收到一个错误消息
ELSE 子句或至少一个 THEN 子句必须为非 NULL
发生这种情况是因为COALESCE
函数被转换为CASE
表达式并且后者被验证是否至少一个THEN
或ELSE
操作数不为空。如果都是NULL
,则抛出错误。这是由源代码中的评论中描述的原因引起的:
根据 sql 标准,我们不能让所有 THEN 语句和 ELSE 返回 null
需要注意的一点是,NULL
当显式转换任何参数时,此查询将返回,例如SELECT COALESCE(CAST(NULL AS VARCHAR), NULL);
.
但是我无法在任何地方找到这个。我所做的发现如下 (参见“应对 null 的缩写”部分,重点是我的):
Coalesce 返回第一个非空参数(如果所有参数都为空,则返回空)。
上面提供的这个声明似乎符合Oracle和PostreSQL文档。
我的问题是,COALESCE
包含文字NULL
s 是否应该仅按照 SQL 标准工作?