docker 中使用 SQLAlchemy 的 Clickhouse 超集
Superset for Clickhouse in docker with SQLAlchemy
我正在尝试为 Clickhouse 设置 Apache Superset。
到目前为止我的理解是我需要为 Clickhouse 安装 SQLAlchemy
https://github.com/xzkostyan/clickhouse-sqlalchemy
我在 Ubuntu 16.04 LTS,并使用 Docker 香草版的 Clickhouse 和 Superset:
- https://store.docker.com/community/images/yandex/clickhouse-server
- https://hub.docker.com/r/amancevice/superset/
无特殊设置
知道如何使用 clickhouse-sqlalchemy 桥接两个 docker 容器吗?
在那种情况下在哪里以及如何安装它?
(如果你有我可以重复使用的示例命令行那就太好了)
你不需要桥接它们:你想要的是一个超集服务器(你恰好通过 docker 运行ning)连接到一个 clickhouse 数据库(你也碰巧是 运行宁通过 docker)。
您也不需要为 Clickhouse 安装 SQLAlchemy:查看位于 https://hub.docker.com/r/amancevice/superset/~/dockerfile/ 的 docker 文件,该映像已经 sqlalchemy-clickhouse
为您安装。
您的步骤应该如下:
当您 docker run --detach --name superset [options] amancevice/superset
时,您应该在 http://localhost:8088/
处拥有您的超集实例 运行ning
类似地,当你 运行 $ 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 数据库:导航到超集的菜单 > 资源 > 数据库 > [新]
考虑使用已经准备好并配置好的 docker-compose.yml,它包含在 Apache Superset 中(参见 https://github.com/apache/superset/blob/master/docker-compose.yml)。
要使用 Clickhouse,应该安装 sqlalchemy 驱动程序。有两个:
- clickhouse-sqlalchemy 来自 xzkostyan
- sqlalchemy-clickhouse 来自 cloudflare。
我推荐使用 clickhouse-sqlalchemy,因为它实际上得到了支持并不断发展,它支持与 ClickHouse 交互的两种可用协议 - HTTP 和 TCP(本机协议)。
让我们连接到 public ClickHouse 之一:
- 演示 Yandex CH
docker run -it --rm yandex/clickhouse-client:latest \
--host gh-api.clickhouse.tech --user explorer -s
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/管理员)
使用连接字符串之一添加数据库:
# 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
另见 。
我正在尝试为 Clickhouse 设置 Apache Superset。 到目前为止我的理解是我需要为 Clickhouse 安装 SQLAlchemy https://github.com/xzkostyan/clickhouse-sqlalchemy
我在 Ubuntu 16.04 LTS,并使用 Docker 香草版的 Clickhouse 和 Superset:
- https://store.docker.com/community/images/yandex/clickhouse-server
- https://hub.docker.com/r/amancevice/superset/
无特殊设置
知道如何使用 clickhouse-sqlalchemy 桥接两个 docker 容器吗? 在那种情况下在哪里以及如何安装它? (如果你有我可以重复使用的示例命令行那就太好了)
你不需要桥接它们:你想要的是一个超集服务器(你恰好通过 docker 运行ning)连接到一个 clickhouse 数据库(你也碰巧是 运行宁通过 docker)。
您也不需要为 Clickhouse 安装 SQLAlchemy:查看位于 https://hub.docker.com/r/amancevice/superset/~/dockerfile/ 的 docker 文件,该映像已经 sqlalchemy-clickhouse
为您安装。
您的步骤应该如下:
当您
docker run --detach --name superset [options] amancevice/superset
时,您应该在 http://localhost:8088/ 处拥有您的超集实例 运行ning
类似地,当你 运行
$ 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 数据库:导航到超集的菜单 > 资源 > 数据库 > [新]
考虑使用已经准备好并配置好的 docker-compose.yml,它包含在 Apache Superset 中(参见 https://github.com/apache/superset/blob/master/docker-compose.yml)。
要使用 Clickhouse,应该安装 sqlalchemy 驱动程序。有两个:
- clickhouse-sqlalchemy 来自 xzkostyan
- sqlalchemy-clickhouse 来自 cloudflare。
我推荐使用 clickhouse-sqlalchemy,因为它实际上得到了支持并不断发展,它支持与 ClickHouse 交互的两种可用协议 - HTTP 和 TCP(本机协议)。
让我们连接到 public ClickHouse 之一:
- 演示 Yandex CH
docker run -it --rm yandex/clickhouse-client:latest \
--host gh-api.clickhouse.tech --user explorer -s
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/管理员)
使用连接字符串之一添加数据库:
# 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
另见 。