我正在尝试为 Clickhouse 设置 Apache Superset。
到目前为止我的理解是我需要为 Clickhouse 安装 SQLAlchemy
https://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 容器吗?
    在这种情况下在哪里以及如何安装它?
    (如果您有我可以重用的示例命令行,那就太好了)

    最佳答案

    你不需要桥接它们:你想要的是一个超集服务器(你碰巧通过 docker 运行)连接到 clickhouse 数据库(你也碰巧通过 docker 运行)。

    您也不应该需要为 Clickhouse 安装 SQLAlchemy:查看 https://hub.docker.com/r/amancevice/superset/~/dockerfile/ 上的 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 控制台中连接到它来仔细检查它是否有效。
  • 然后,您应该能够以与连接到任何其他数据库相同的方式将 superset 连接到您的 clickhouse 数据库:通过导航到 Superset 的菜单 > 源 > 数据库 > [new]
  • 关于docker - 使用 SQLAlchemy 在 docker 中用于 Clickhouse 的超集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47568708/

    10-12 21:01