我通过Drill Documentation中的链接安装了Apache。Apache Drill工作得很好。我还使用docker安装并运行了Apache Superset。超集也工作得很好。
但我的目标是将Superset和Drill集成在一起。我能找到的唯一教程是tutorial from Dataist。在学习本教程时,他们要求我们添加一个数据库。
由于我在本地机器上同时运行Drill和Superset,它们要求我们键入drill+sadrill://localhost:8047/dfs/test?use_ssl=False作为SQLAlchemy URI。他们要求我们通过按下测试连接来测试连接。
当按下test connection时,我得到如下错误信息。
ERROR: {"error": "Connection failed!\n\nThe error message returned was:\nCan't load plugin: sqlalchemy.dialects:drill.sadrill", "stacktrace": "Traceback (most recent call last):\n File \"/home/superset/superset/views/core.py\", line 1755, in testconn\n engine = database.get_sqla_engine(user_name=username)\n File \"/home/superset/superset/utils/core.py\", line 132, in __call__\n value = self.func(*args, **kwargs)\n File \"/home/superset/superset/models/core.py\", line 911, in get_sqla_engine\n return create_engine(url, **params)\n File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/engine/__init__.py\", line 435, in create_engine\n return strategy.create(*args, **kwargs)\n File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/engine/strategies.py\", line 61, in create\n entrypoint = u._get_entrypoint()\n File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/engine/url.py\", line 172, in _get_entrypoint\n cls = registry.load(name)\n File \"/usr/local/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py\", line 240, in load\n \"Can't load plugin: %s:%s\" % (self.group, name)\nsqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:drill.sadrill\n"}
有没有人知道我为什么会收到这个错误。此外,如果有任何其他教程可供遵循,可以更好地了解如何设置Drill和superset。
发布于 2020-02-17 23:22:17
我在尝试连接elasticsearch时遇到了类似的问题。我猜你使用的docker图像是amancevice/superset。这个问题是因为你的镜像没有使用最新的SQLAlchemy,SQLAlchemy-Utils包。升级或重新安装这些程序包以解决此问题。
要卸载,请执行以下操作:
pip卸载SQLAlchemy pip卸载SQLAlchemy-Utils
要重新安装(最新版本):
pip安装SQLAlchemy pip安装SQLAlchemy-Utils
我已经在这里报告了这个问题,https://github.com/amancevice/docker-superset/issues/158也许它会随着即将到来的图像得到修复。
https://stackoverflow.com/questions/58163150
复制相似问题