为 Cassandra 配置 Apache 钻取

Configuring Apache drill for Cassandra

我正在尝试使用 Drill 配置 Cassandra。我使用了 link 上给出的相同方法:https://drill.apache.org/docs/starting-the-web-ui/.

我为新存储插件使用了以下代码:

 {
  "type": "cassandra",
  "hosts": [
    "127.0.0.1"
  ],
  "port": 9042,
  "username": "<username>",
  "password": "<password>",
  "enabled": false
}

I have attached the Screenshot here.

但我收到以下错误:

Please retry: Error (invalid JSON mapping)

我该如何解决这个问题?

所有代码:

  1. Git: https://github.com/yssharma/drill/tree/cassandra-storage
  2. 补丁:https://gist.github.com/yssharma/2581ae8a97c559b2677f

1.获取 Drill:让我们获取 Drill 源代码

$ git clone https://github.com/apache/drill.git

2。从以下位置获取 Cassandra Storage patch/Download 补丁文件:

https://reviews.apache.org/r/29816/diff/raw/

3。在 Drill 上应用补丁 $ 光盘钻 $ git apply --check ~/Downloads/DRILL-92-CassandraStorage.patch $ git 申请 ~/Downloads/DRILL-92-CassandraStorage.补丁

4。使用 Cassandra 存储构建 Drill 并将分发导出到 /opt/drill

$ mvn clean install -DskipTests
$ mkdir /opt/drill
$ tar xvzf distribution/target/*.tar.gz --strip=1 -C /opt/drill

5.启动 Sqlline。 我们已经完成了 Drill 的构建和安装——是时候开始使用 Drill 了。

$ cd /opt/drill
$ bin/sqlline -u jdbc:drill:zk=local -n admin -p admin
Drill-Sqlline

点击“显示模式”查看现有模式。

Drill-Sqlline-schemas

6. Drill Web 界面 您应该能够在 localhost:8047 或您的 host/port 上看到 Drill 网络界面。

使用这个作为你的配置:

 {
      "type": "cassandra",
      "config": {
        "cassandra.hosts": [
          "127.0.0.1",
          "127.0.0.2"
        ],
        "cassandra.port": 9042
      },
      "enabled": true
    }

此外,如果这不起作用,请知道他们正在为此开发一个插件:https://github.com/apache/drill/pull/1960

我也会在这里更新。我们正在对 Drill 使用存储插件的方式进行一些认真的重构。具体来说,我们正在努力为 Cassandra 整合 Calcite Adapter1。这样做的原因是存储插件的难点不是连接,而是优化。 Calcite 已经为 Drill 做了查询规划,并且已经实现了一堆这样的适配器,这意味着找出所有优化(也称为下推)的工作已经基本完成。

在Cassandra/Scylla的情况下,这一点尤为重要,因为有些过滤器应该下推到Cassandra,有些绝对不应该下推。适配器还包括聚合下推——目前没有 Drill 插件可以做到这一点。同样,重点是一旦我们提交了它,连接器应该可以很好地与 Cassandra/Scylla 一起工作。我们有一个非常接近完成的 ElasticSearch,一旦完成,Cassandra 插件就是下一个。如果您有任何 suggestions/comments 或其他反馈,请在上面链接的拉取请求中 post。

** 2021 年 4 月 11 日更新:Cassandra/Scylla 插件现已合并到 Drill 1.19.0-SNAPSHOT **