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

maven - Hive 0.14 UDF Maven 项目缺少依赖项

我试图建立一个 Maven 项目,该项目将包含我想在 Hive 查询中使用的用户定义函数 (UDF)。我从一个不包含源文件的 Maven 项目和以下 POM 开始:

当我尝试构建项目时,出现以下错误:

未能在项目 HiveUdfTestProject 上执行目标:无法解析项目 exp:HiveUdfTestProject:jar:1.0-SNAPSHOT 的依赖项:无法解析以下工件:org.apache.calcite:calcite-core:jar:0.9.2-incubating- SNAPSHOT, org.apache.calcite:calcite-avatica:jar:0.9.2-incubating-SNAPSHOT: 找不到工件 org.apache.calcite:calcite-core:jar:0.9.2-incubating-SNAPSHOT -> [帮助 1 ]

0 投票
0 回答
552 浏览

mongodb - 使用 Saiku 社区版进行 MongoDB 分析

我什至无法使用 optiq 将 Saiku 与 MongoDB 连接起来。我已经将 Jars 复制到 saiku lib 和 web-inf lib 中。由于 saiku 添加数据源控制台没有任何目录字段,也没有 url 部分。

0 投票
1 回答
3281 浏览

java - 用 apache calcite 找不到表

我正在尝试用方解石做一些基本的事情来理解框架。我已经设置了一个应该从 2 个 json 文件中读取的简单示例。我的模型看起来像

在我的测试中,模型似乎加载正常,因为当我提取数据库元数据信息时,我可以看到我的文件正在作为 PEOPLE 模式下的表加载。但是在那个声明之后,我试图select *从那个表中做一个,我得到一个错误,即找不到表。

输出中的第一行显示来自数据库元数据“-- null PEOPLE a TABLE -->”的表。这表明表“a”存在于模式“people”下,并且属于“table”类型。

我的测试代码看起来像这样

任何想法为什么我无法在加载的表格上进行选择?

我注意到的另一件有趣的事情是,对于 1 个文件,Schema.getTableMap它被调用了 4 次。

该项目的完整代码可以在github上找到

0 投票
1 回答
1175 浏览

apache-spark - Apache Calcite 数据联合用例

只想检查 Apache Calcite 是否可用于用例“数据联合”(使用多个数据库进行查询)。

这个想法是我有一个主查询(5 个表),其中包含来自一个数据库(比如 Hive)的表和来自另一个数据库(比如 MySQL)的 3 个表。

  • 我可以从一个 JDBC 客户端界面对多个数据库执行主查询吗?
  • 如果可能的话;查询执行(尤其是数据库间连接)发生在哪里?
  • 另外,我可以从 Calcite 获得一个可以在另一个执行引擎中显式执行的物理计划吗?

我从 Calcite 文档中读到它可以下推JoinGroupBy我无法理解?谁能帮我理解这一点?

0 投票
1 回答
1059 浏览

sql - Apache Calcite 查询解析器 - 意外的字符双引号

Apache Calcite用来对不同的数据源执行查询。我正在使用的模型文件是

查询是

由于对表和列应用了双引号,上述查询不起作用。所以,我不得不删除引号,下面的查询工作正常。

在这里,问题是查询解析器不允许某些没有双引号的查询。在某些情况下,如上述,它不需要引号来正确执行。任何人都可以对为什么会这样提出一些见解吗?

0 投票
1 回答
448 浏览

embed - 在我的应用程序中嵌入 Apache Calcite 作为库

Apache Calcite 似乎有一个有趣的功能,可以解析 SQL 并连接到多个数据源,包括非关系使用适配器。

我看到了足够多的关于方解石本身开发的文档,但没有看到将其用作第三方应用程序中的库。

我想在我的应用程序中使用 Apache Calcite 及其一些适配器作为库并使用它的功能。

例如,Apache Drill 在其后端使用方解石。第三方应用程序是否可以嵌入方解石并使用其功能?如果是,我该怎么做?谢谢!

0 投票
1 回答
2112 浏览

apache-calcite - org.apache.calcite.sql.validate.SqlValidatorException

我正在使用 Apache Calcite 解析一个简单的 SQL 语句并返回它的关系树。我使用与简单 SQLite 数据库的 JDBC 连接来获取数据库模式。然后使用 FrameworkConfig 添加架构。然后修改解析器配置以处理标识符引用和大小写(不敏感)。但是,SQL 验证器无法在 SQL 语句中找到引用的表标识符。解析器不知何故忽略了配置设置并将表转换为大写。引发 SqlValidatorException,说明未找到表名。我怀疑,配置没有正确更新?我已经验证表名正确包含在模式的元数据中。

公共类 ParseSQL {

} // 结束类

***** 错误消息****** 2016 年 1 月 20 日晚上 8:54:51 org.apache.calcite.sql.validate.SqlValidatorException 严重:org.apache.calcite.sql.validate.SqlValidatorException:表'找不到学生

0 投票
2 回答
1075 浏览

json - 使用 Hbase 上的 phoenix 查询服务器在一个请求中插入多行

我希望将多个 upsert 请求组合成一个请求并将其传递给 phoenix 查询服务器。

我正在发送以下 json 来更新一条记录

我希望能够在一个 json 中发送多个具有不同值的 upsert 语句。我查看了 avatica 路线图,其中提到我们可以通过 Execute-Fetch 调用复合 RPC。

http://calcite.apache.org/docs/avatica_roadmap.html

我希望获得一个关于如何执行此操作的示例,因为文档中没有执行获取示例。

0 投票
0 回答
54 浏览

apache-calcite - 方解石,id过滤器,最简单的方法是什么?

我想找到最简单的方法来获取我的表的 id 列的过滤器。目前我使用 FilterableTable ,但它将过滤器作为表达式树返回,我必须对其进行扫描。我想知道是否有一种更简单的方法来获取我的 PK 列的过滤器(我声明为键或索引的列),即获得一种从到到的结构。

编辑:所以理想情况下,我希望提取查询的 id 范围列表,即从过滤器到 [id1 ... id2] , [id3...id4] 等等,其中 id1

0 投票
1 回答
589 浏览

apache-calcite - 如何避免方解石在内存中进行聚合

当我运行“select count(x),y group by y”之类的查询时,calcite 会在内存中进行所有计算。因此,如果有足够的数据,它可能会耗尽内存。有没有办法使用其他存储进行聚合?有一个 spark 选项,但是当我启用它时,我得到一个 nullptr 异常。这是否意味着使用 spark 来计算结果以及它是如何工作的?