问题标签 [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 投票
2 回答
1301 浏览

apache-calcite - apache calcite,不使用 jdbc api 进行查询

我想在不使用 jdbc 连接的情况下使用 apache calcite api raw。我可以很好地使用 jdbc api,但是在尝试使用 api 时出现空 ptr 异常。到目前为止我所做的是:

但是当我运行这个时,我得到

MyDataContext 名称=v0stashed

请注意,它试图从上下文中获取 v0stashed,我不知道它应该是什么。我看到的唯一 CalcitePrepare.Context impl 是使用 CalciteConnection 的,我试图避免使用它。我还从方解石文档中获取了一些代码片段,但它在方解石 1.7 中已经过时了

想法?

0 投票
2 回答
2552 浏览

java - apache calcite 区分列名和表名

我正在实现一个简单的应用程序,它可以在 SQL 语句中更改列名(并单独保留表名)。语句作为 a 传递String,修改后的语句也作为 a 返回String,不涉及数据库连接。

为此,我使用了 Apache Calcite 的 SQL 解析器。我将 SQL 字符串解析为SqlNode,接受SqlVisitor创建重命名SqlNode的 ,然后将所有内容写回String(使用SqlNode.toSqlString())。

问题是我不知道如何SqlNode在接受SqlVisitor. 两者都表示为SqlIdentifier,具有相同的SqlKind。因此,当SqlVisitor访问时SqlIdentifier,无论是列还是表,它都会重命名它。

例如

将被修改为

我怎么知道给定SqlIdentifier的是列还是表?

0 投票
1 回答
2307 浏览

java - 方解石:使用 Postgres 时找不到表

我正在尝试使用 Apache Calcite 查询 Postgres DB。我可以通过 Calcite JDBC 驱动程序仔细阅读有关数据库的元数据,因此我绝对能够连接到它,但是每当我查询一个表时,Calcite 总是以“找不到表 x”作为响应。如果我将代码更改为使用 Hsqldb,则一切正常。下面是代码(改编自这个方解石测试用例:https ://github.com/apache/calcite/blob/master/core/src/test/java/org/apache/calcite/test/MultiJdbcSchemaJoinTest.java )

以下是我得到的错误:

我看过其他帖子(在 apache calcite 中找不到表)表明这些类型的错误通常是由大小写问题引起的,所以我尝试了我能想到的每一种大小写组合:

或者

或者

但无济于事。

这是我的 pom 文件,因此您可以运行代码:

这里的最终用例是能够跨多个数据库进行查询。

0 投票
1 回答
1103 浏览

sql - 如何将 SqlNode 表达式(不是查询!)转换为 RelNode?

0 投票
2 回答
119 浏览

java - 如何在 Maven 中安装特定包的两个不同版本?

我正在连接到 2 个不同的数据库,他们的 JDBC 客户端都需要包org.apache.calcite.avatica,一个使用 1.6 版,另一个使用 1.8 版,所以我需要安装两个版本(1.6 和 1.8),并且似乎版本1.8 与 1.6 版本不兼容,当我使用 1.8 版本而不是 1.6 时,抛出以下异常:

而且似乎 Maven 不是为那样使用而设计的。

那么,我应该怎么做才能解决这个问题呢?

0 投票
1 回答
274 浏览

apache-calcite - 如何在应用程序中使用方解石 cassandra 适配器

java代码中有一些关于方解石cassandra适配器的例子吗?方解石网站上只有一个 sqlline 示例。非常感谢

0 投票
2 回答
284 浏览

kylin - Kylin - 按 Rollup 和 Cube 分组

我正在尝试使用 ROLLUP 和 CUBE 运算符使用示例多维数据集来汇总数据。如果我执行查询,则会返回以下错误消息:

内部错误:应用规则 OLAPAggregateRule 时出错,args [rel#1246:LogicalAggregate.NONE.[](input=rel#1245:Subset#1.NONE.[],group={0, 1},groups=[{0 , 1}, {0}, {}],indicator=true,SUMOFPRICE=SUM($2))]。

我正在使用来自http://calcite.apache.org/docs/reference.html的文档来构建查询。

测试查询:

不使用多维数据集的简单查询

选择 a, b, sum(c) from (values (1, 2, 3, 4)) as t(a, b, c, d) group by rollup(a, b)

此查询返回预期结果

使用 ROLLUP 运算符使用 KYLIN_SALES 表进行查询

通过 rollup(seller_id, leaf_categ_id) 从 kylin_sales 组中选择 Seller_id、leaf_categ_id、sum(price) 作为 SumOfPrice

执行此查询时会返回问题开头提到的错误。

发生错误时,Kylin 日志显示以下内容: 麒麟原木

0 投票
2 回答
1520 浏览

java - 使用 CSV 使用 Calcite 创建流式传输示例

我正在尝试使用 CSV 作为数据源使用 Calcite 创建一个基本的流程序。我可以使用 sqlline 运行查询,但我不能以编程方式进行。我的代码是:

例子.json

SORDERS.csv

简单查询.java

最后,我有 calcite-core 1.8.0、net.sf.opencsv 2.3、calcite-avatica 1.6.0、calcite-linq4j 1.8.0、sqlline 1.1.9、hamcrest-core 1.3、com.github.stephenc.jcip 的依赖项1.0-1、commons-lang3 3.4、guava 19.0 和导入的 calcite-example-csv-1.9.0-SNAPSHOT(我用 github 版本的 maven 打包)。

当我尝试运行代码时,我得到:

关于如何解决它的任何想法?

0 投票
2 回答
714 浏览

sql-server - 方解石连接到 sql server

我正在尝试使用 Calcite 连接到 SQL 服务器。尝试运行非常简单的示例来从人员表中提取数据。

这是我正在使用架构的代码:

这是主要代码

sql server 设置是这样的。服务器 - SPG DB - 部门架构 - dbo

问题:

  1. 我找不到表,所以看起来它没有读取架构。
  2. 我想了解在方解石上创建模式,因为实时 sql 会因许多连接而变得更加复杂。
  3. 什么是连接到 sql server 的最佳方法。上面的代码方向正确。

提前致谢。

理士

0 投票
1 回答
802 浏览

java - 如何在 Apache calcite 中插入数据

我正在通过 Apache calcite 将数据从 SQL 插入到文件

我收到以下错误