Apache Drill と Apache Superset を統合する

Apache Drill と Apache Superset を統合する

私はApache DrillをリンクからインストールしましたドリルドキュメントApache Drill は正常に動作します。また、docker を使用して Apache Superset をインストールして実行しました。Superset も完全に正常に動作します。

しかし、私の目標はSupersetとDrillを統合することです。私が見つけることができた唯一のチュートリアルはDataist からのチュートリアルこのチュートリアルを実行すると、データベースを追加するように求められます。

ローカル マシンで Drill と Superset の両方を実行しているため、drill+sadrill://localhost:8047/dfs/test?use_ssl=FalseSQLAlchemy URI を入力するように求められます。テスト接続を押して接続をテストするように求められます。

テスト接続を押すと、次のようなエラー メッセージが表示されます。

ERROR: {"error": "Connection failed!

The error message returned was:
Can't load plugin: sqlalchemy.dialects:drill.sadrill", "stacktrace": "Traceback (most recent call last):
  File \"/home/superset/superset/views/core.py\", line 1755, in testconn
    engine = database.get_sqla_engine(user_name=username)
  File \"/home/superset/superset/utils/core.py\", line 132, in __call__
    value = self.func(*args, **kwargs)
  File \"/home/superset/superset/models/core.py\", line 911, in get_sqla_engine
    return create_engine(url, **params)
  File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/engine/__init__.py\", line 435, in create_engine
    return strategy.create(*args, **kwargs)
  File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/engine/strategies.py\", line 61, in create
    entrypoint = u._get_entrypoint()
  File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/engine/url.py\", line 172, in _get_entrypoint
    cls = registry.load(name)
  File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py\", line 240, in load
    \"Can't load plugin: %s:%s\" % (self.group, name)
sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:drill.sadrill
"}

なぜこのエラーが発生するのか、誰かわかりますか? また、ドリルとスーパーセットの設定方法について、より詳しい説明が記載されている他のチュートリアルはありますか?

答え1

Drill 用の SQLAlchemy Dialect をインストールする必要があると思います。

git clone https://github.com/JohnOmernik/sqlalchemy-drill
cd sqlalchemy-drill
python3 setup.py install 

(見るhttps://superset.incubator.apache.org/installation.html#apache-drill

関連情報