Docker部署Superset连接clickhouse数据库文档

in docker大数据 with 0 comment

简介

官网地址:https://superset.apache.org/

Apache Superset(Incubating)是一种现代的,可用于企业的商业智能Web应用程序。

Superset 提供:

Superset 可以从任何支持 SQL 的数据存储或数据引擎(如 Presto、Trino、Athena 等)中查询数据,只要该引擎具有 Python DB-API 驱动程序和 SQLAlchemy 方言。

以下是支持的主流数据库:
image-20240513171226866.png

部署

本次是通过docker compose方式部署。官方文档地址

下载安装docker-compose

如果服务器无法访问github,可以本地Windows下载了上传到服务器即可

[root@VM-7-119-tencentos /www]# curl -SL https://github.com/docker/compose/releases/download/1.29.0/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose
[root@VM-7-119-tencentos /www]# chmod a+x /usr/local/bin/docker-compose

#验证版本信息
[root@VM-7-119-tencentos /www]# docker --version
Docker version 20.10.21, build baeda1f
[root@VM-7-119-tencentos /www]# docker-compose --version
docker-compose version 1.29.0, build 07737305

下载git源码

git clone https://github.com/apache/superset.git

切换到合适的版本分支(此处是v2021.13.4比较适配我本地的docker环境及版本)

cd superset
git checkout v2021.13.4

修改配置文件

修改env_file下面的配置文件路径,总共有多处全修改掉,否则启动会报错

#修改前:

  env_file:
      - path: docker/.env # default
        required: true
      - path: docker/.env-local # optional override
        required: false
        
#修改后如下:

  env_file:
      - docker/.env

修改后如图配置:

image-20240513175948497.png

启动容器

执行以下命令创建启动容器

docker compose -f docker-compose-image-tag.yml up -d

image-20240513180449710.png

web验证

浏览器访问http://IP:8088 用户名admin 密码:admin
image-20240513180449710.png

新增数据库连接配置

默认支持的数据库是PostgreSQL、Presto、MySQL、SQLite。此处我们需要连接clickhouse,因此需要单独安装扩展模块及配置。

https://superset.apache.org/docs/configuration/databases
image-20240514101236067.png

进入容器安装依赖的python模块,然后重启容器。

docker exec -it superset_app /bin/bash
pip install clickhouse-connect

重启容器

docker restart superset_app

再次访问web ui,添加数据库,即可以看到clickhouse的数据库选项
image-20240514110234387.png

image-20240514110334522.png

执行sql语句查询,展示如下:
image-20240514110438896.png

结语

之前有部署使用过hue管理clickhouse,相比hue,superset的兼容性更好,实际使用效果也确实如此。查询sql流畅。强烈推荐!

本篇至此结束!

Responses