我正在尝试为clickhouse设置apache超集。到目前为止,我的理解是我需要为clickhouse安装sqlalchemyhttps://github.com/xzkostyan/clickhouse-sqlalchemy
我使用的是ubuntu 16.04 lts,使用的是clickhouse和superset的docker vanilla版本:
https://store.docker.com/community/images/yandex/clickhouse-server
https://hub.docker.com/r/amancevice/superset/
无特殊设置
你知道我如何用clickhouse sqlalchemy连接两个docker容器吗?在这种情况下,在哪里以及如何安装(如果您有我可以重用的示例命令行,那就太好了)
2条答案
按热度按时间qacovj5a1#
您不需要桥接它们:您需要的是一个超集服务器(恰好通过docker运行)来连接到clickhouse数据库(恰好也通过docker运行)。
您也不需要为clickhouse安装sqlalchemy:查看https://hub.docker.com/r/amancevice/superset/~/dockerfile/ 那张照片已经
sqlalchemy-clickhouse
为您安装。步骤如下:
当你
docker run --detach --name superset [options] amancevice/superset
你应该让你的超集示例运行在http://localhost:8088/同样,当你跑步时
$ docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 -v /path/to/your/config.xml:/etc/clickhouse-server/config.xml yandex/clickhouse-server
您应该得到一个clickhouse示例,您可以通过sqlalchemy访问它,比如clickhouse://default:@some-clickhouse-server/test
您需要基于config.xml修改该连接uri—并且您应该能够通过在python控制台中连接到它来再次检查它是否工作。然后,您应该能够以连接到任何其他数据库的相同方式将超集连接到clickhouse数据库:导航到超集的菜单>源>数据库>[新建]
yyyllmsg2#
考虑使用已经准备好并配置好的docker-compose.yml,它包含在apache超集中(参见https://github.com/apache/superset/blob/master/docker-compose.yml).
要使用clickhouse,应该安装sqlalchemy驱动程序。有两种:
xzkostyan的clickhouse sqlalchemy
sqlalchemy clickhouse由cloudflare提供。
我建议使用clickhouse sqlalchemy,因为它实际上是受支持的,而且evolute支持两种可用的协议来与clickhouse-http和tcp(本机协议)交互。
让我们连接到一个公共clickhouse:
无论是demo yandex ch
或演示altinity.cloud ch
从repo下载源代码https://github.com/apache/superset
执行命令
等待容器启动并构建web应用程序(请参阅控制台输出,webpack应完成其工作)
浏览urlhttp://localhost:8088(使用凭据admin/admin)
使用以下连接字符串之一添加数据库:
另请参见https://stackoverflow.com/a/66006784/303298.