Integrieren Sie Apache Drill mit Apache Superset

Integrieren Sie Apache Drill mit Apache Superset

Ich habe Apache Drill über den Link imBohrdokumentation. Apache Drill funktioniert einwandfrei. Ich habe auch Apache Superset installiert und mit Docker zum Laufen gebracht. Superset funktioniert auch völlig einwandfrei.

Aber mein Ziel ist es, Superset und Drill miteinander zu integrieren. Das einzige Tutorial, das ich finden konnte, war einTutorial von Dataist. Wenn wir diesem Tutorial folgen, werden wir aufgefordert, eine Datenbank hinzuzufügen.

Da ich sowohl Drill als auch Superset auf meinem lokalen Rechner ausführe, werden wir aufgefordert, drill+sadrill://localhost:8047/dfs/test?use_ssl=Falsedie SQLAlchemy-URI einzugeben. Sie bitten uns, die Verbindung zu testen, indem wir auf „Verbindung testen“ klicken.

Beim Drücken der Schaltfläche „Verbindung testen“ erhalte ich folgende Fehlermeldung.

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
"}

Kann jemand herausfinden, warum ich diesen Fehler erhalte? Gibt es auch andere Tutorials, die eine bessere Vorstellung davon vermitteln, wie Drill und Superset eingerichtet werden?

Antwort1

Ich glaube, Sie müssen den SQLAlchemy-Dialekt für Drill installieren:

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

(sehenhttps://superset.incubator.apache.org/installation.html#apache-drill)

verwandte Informationen