0

我需要通过 Apache Drill 访问我的 crate 数据库中的数据。据我所知, crate 有一个PostgreSQL 接口,但这与钻暴露的PostgreSQL 接口不兼容。互联网上没有太多关于此的信息。一种方法是实现自定义存储插件。但也没有找到有用的信息。我经历了这个,但没有多大用处。任何见解,参考,链接,信息都表示赞赏。

我尝试通过 apache Drill 连接到 crate 的另一种方法是使用存储配置:

{
类型:“jdbc”,
启用:true,
驱动程序:“io.crate.client.jdbc.CrateDriver”,
url:“jdbc:crate://localhost:5432/”
}

和罐子: crate-jdbc-1.9.1.jar 和 crate-jdbc-standalone-2.2.0.jar

这对我也不起作用。

4

1 回答 1

0

我可以使用以下配置通过 Apache Drill 成功连接到 crate:

1. 通过 Apache Drill 连接到 crate 的存储配置(嵌入式模式):

{
“类型”:“jdbc”,
“驱动程序”:“io.crate.client.jdbc.CrateDriver”,
“url”:“jdbc:crate://localhost:5432/”,
“用户名”:“crate”,
“密码”:空,
“启用”:真
}

  1. 使用 jar crate-jdbc-standalone-2.2.0。
    将其添加到 Drill-installation-dir/jars/3rdparty
    在 Drill-installation-dir/conf/drill-override.conf 添加行

    Drill.exec.sys.store.provider.local.path = "crate-jdbc-standalone-2.2.0.jar"

查询示例:

从 cratestorageplugin.doc.test 中选择 *

其中:
cratestorageplugin:为 crate 创建的存储插件
doc:模式名称
test:表名

非常感谢 crate 团队的所有帮助和及时支持!

注意:如果您的表没有动态数据类型,此方法可能很有用。我们只能用这个连接查询具有简单数据类型的表。

于 2017-08-23T12:12:55.763 回答