问题描述
我在本地运行 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 缓存被称为 db
和 redis
。
因此,您可以扩展 docker-compose.yml 以包含名称为 druid
的德鲁伊容器,然后像这样连接到它:
druid://admin:admin@druid:PORTTHATYOUEXPOSED/druid/v2/sql