具有sqlalchemy的docker中clickhouse的超集

axr492tv  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(2)|浏览(603)

我正在尝试为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容器吗?在这种情况下,在哪里以及如何安装(如果您有我可以重用的示例命令行,那就太好了)

qacovj5a

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数据库:导航到超集的菜单>源>数据库>[新建]

yyyllmsg

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

docker run -it --rm yandex/clickhouse-client:latest \
    --host gh-api.clickhouse.tech --user explorer -s

或演示altinity.cloud ch

docker run -it --rm yandex/clickhouse-client:latest \
    --host github.demo.trial.altinity.cloud -s --user demo --password demo

从repo下载源代码https://github.com/apache/superset
执行命令

cd superset-master

docker-compose up

# open the new terminal

docker-compose exec superset bash /app/docker/docker-init.sh
docker-compose exec superset pip install clickhouse-sqlalchemy
docker-compose restart

等待容器启动并构建web应用程序(请参阅控制台输出,webpack应完成其工作)
浏览urlhttp://localhost:8088(使用凭据admin/admin)
使用以下连接字符串之一添加数据库:


# connection string for Demo Yandex ClickHouse

clickhouse+native://explorer@gh-api.clickhouse.tech/default?secure=true

# connection string for Demo Altinity.Cloud CH

clickhouse+native://demo:demo@github.demo.trial.altinity.cloud/default?secure=true

另请参见https://stackoverflow.com/a/66006784/303298.

相关问题