无法将超集连接到德鲁伊

问题描述

我在本地运行 Druid 和 superset,但我无法将它们连接在一起。
我有德鲁伊的样本数据wikiticker。我已经用 pip3: <div id="container"> <div id="output">NO DATA</div> </div> 安装了 pydruid(我不确定是否需要将它安装到任何特定位置)。
我还使用This Link在本地使用docker-compose安装了superset,但是,我无法将Druid与Superset连接起来。我去了数据->数据库->添加数据库。在连接中,我将数据库名称指定为 Druid,但不确定在 sqlALCHEMY URI* 中提供什么 .
我试过这些:

pip3 install pydruid
druid//admin:admin@localhost:8082/wikiticker
pydruid//admin:admin@localhost:8082/wikiticker

但没有任何效果。请帮忙。

解决方法

据我所知,德鲁伊没有内置身份验证。 SQLALCHEMY_URI 字符串应为 druid+https://localhost:8082/druid/v2/sql/(如果您使用的是 HTTP,则为 druid+http://localhost:8082/druid/v2/sql/)。

,

根据 documentation,连接字符串应如下所示(问题中的第三个变体):

druid://<User>:<password>@<Host>:<Port-default-9088>/druid/v2/sql

您无法连接的原因可能是因为您的 docker 设置。在您的超集 docker 容器 localhost 的上下文中,指的是该特定的 docker 容器。例如,对于 docker-compose.yml 中的连接设置和 .env 中设置的环境变量,数据库和 redis 缓存被称为 dbredis

因此,您可以扩展 docker-compose.yml 以包含名称为 druid 的德鲁伊容器,然后像这样连接到它:

druid://admin:admin@druid:PORTTHATYOUEXPOSED/druid/v2/sql