问题标签 [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,不使用 jdbc api 进行查询
我想在不使用 jdbc 连接的情况下使用 apache calcite api raw。我可以很好地使用 jdbc api,但是在尝试使用 api 时出现空 ptr 异常。到目前为止我所做的是:
但是当我运行这个时,我得到
MyDataContext 名称=v0stashed
请注意,它试图从上下文中获取 v0stashed,我不知道它应该是什么。我看到的唯一 CalcitePrepare.Context impl 是使用 CalciteConnection 的,我试图避免使用它。我还从方解石文档中获取了一些代码片段,但它在方解石 1.7 中已经过时了
想法?
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
的是列还是表?
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 文件,因此您可以运行代码:
这里的最终用例是能够跨多个数据库进行查询。
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 不是为那样使用而设计的。
那么,我应该怎么做才能解决这个问题呢?
apache-calcite - 如何在应用程序中使用方解石 cassandra 适配器
java代码中有一些关于方解石cassandra适配器的例子吗?方解石网站上只有一个 sqlline 示例。非常感谢
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
执行此查询时会返回问题开头提到的错误。
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 打包)。
当我尝试运行代码时,我得到:
关于如何解决它的任何想法?
sql-server - 方解石连接到 sql server
我正在尝试使用 Calcite 连接到 SQL 服务器。尝试运行非常简单的示例来从人员表中提取数据。
这是我正在使用架构的代码:
这是主要代码
sql server 设置是这样的。服务器 - SPG DB - 部门架构 - dbo
问题:
- 我找不到表,所以看起来它没有读取架构。
- 我想了解在方解石上创建模式,因为实时 sql 会因许多连接而变得更加复杂。
- 什么是连接到 sql server 的最佳方法。上面的代码方向正确。
提前致谢。
理士
java - 如何在 Apache calcite 中插入数据
我正在通过 Apache calcite 将数据从 SQL 插入到文件
我收到以下错误