通过Apache Drill

时间:2017-08-21 09:48:33

标签: postgresql apache apache-drill cratedb

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

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

  

{
type:“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

这对我也没有用。

1 个答案:

答案 0 :(得分:0)

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

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

  

{
    "输入":" jdbc",
    " driver":" io.crate.client.jdbc.CrateDriver",
    " url":" jdbc:crate:// localhost:5432 /",
    "用户名":" crate",
    "密码":null,
    "启用":真实   }

  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"

  2. 查询示例:

      

    从cratestorageplugin.doc.test中选择*

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

      

    非常感谢板条箱队的所有帮助和提示   支持!

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