使用 Apache Superset 可视化 ClickHouse 数据
apache superset是一个强大的bi工具,它提供了查看和探索数据的方法。它在 clickhouse 用户中也越来越受欢迎。
我们将介绍安装 superset 的 2 种方法,然后展示如何从 superset 连接到您的第一个 clickhouse 数据库。代码示例基于 ubuntu 18.04、superset 1.1.0 和 clickhouse-sqlalchemy 0.1.6。
方法一:python虚拟环境
第一种方法直接在您的主机上安装 superset。我们将首先创建一个 python 虚拟环境。以下是常用命令。
python3 -m venv clickhouse-sqlalchemy . clickhouse-sqlalchemy/bin/activate pip install --upgrade pi
安装并启动 superset
安装依赖包
sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev
处理与 clickhouse 的 superset 连接的命令。可能需要根据您的环境稍微调整。
export flask_app=superset pip install apache-superset superset db upgrade superset fab create-admin superset load_examples superset init
安装 clickhouse-sqlalchemy 驱动程序
pip install clickhouse-sqlalchemy
clickhouse-driver 版本必须为 0.2.0 或更高版本。
pip freeze |grep clickhouse clickhouse-driver==0.2.0 clickhouse-sqlalchemy==0.1.6
启动 superset 并登录
是时候开始 superset 了。运行以下命令:
superset run -p 8088 --with-threads --reload --debugger
浏览器访问 localhost:8088
您将看到如下所示的登录屏幕。输入您在 superset 安装期间定义的管理员登录名和密码(例如,admin/secret)。
方法 2:使用 docker compose 运行 superset
如果您不想纠结于 python 版本、虚拟环境和 pip。可以使用docker。
首先安装docker和docker-compose。
安装完成查看版本。
$ docker --version docker version 19.03.4, build 9013bf583a $ docker-compose --version docker-compose version 1.29.1, build c34c88b2
使用docker-compose 安装superset
git clone https://github.com/apache/superset cd superset touch ./docker/requirements-local.txt echo "clickhouse-driver>=0.2.0" >> ./docker/requirements-local.txt echo "clickhouse-sqlalchemy>=0.1.6" >> ./docker/requirements-local.txt docker-compose -f docker-compose-non-dev.yml up
运行成功后 浏览器访问 localhost:8088
默认登录名/密码是admin / admin。
连接到 clickhouse
无论您选择哪种安装方法,您现在都可以连接到您的第一个 clickhouse 数据库。
登录后,您将看到一个屏幕,其中包含您最近的工作以及当前的仪表板。选择右上角的数据选项卡,然后选数据库。将出现一个页面,其中包含您当前的数据库连接。按+ 数据库按钮添加新数据库。
输入以下值:
数据库名称:clickhouse-public sqlalchemy 网址:clickhouse+native://demo:demo@github.demo.trial.altinity.cloud /default?secure=true
altinity.cloud是一个公共的数据集站点。
按下测试连接按钮。成功后保存链接。
连接过程
连接使用了 sqlalchemy,这是一种用于连接 clickhouse 以及许多其他数据库的通用 api。
sqlalchemy 连接使用支持多个驱动程序的专用 url 格式。要连接到 clickhouse,您需要提供一个类似于我们之前显示的 url:
clickhouse+native://demo:demo@github.demo.trial.altinity.cloud/default?secure=true
连接clickhouse 有两个主要的协议,原生tcp和http。
建议使用原生tcp。
clickhouse+native://<user>:<password>@<host>:<port>/<database>[?options…]
配置superset
我们已经成功连接了clickhouse,下面我们使用superset建立一个仪表盘。
首先,让我们创建数据集。选择 clickhouse-public 作为连接,然后选择 schema default和 table ontime。
有了数据集后,创建第一个图表就很简单了。只需单击数据集页面上的数据集名称。superset 将切换到一个屏幕来定义一个图表,如下所示。
创建一个时间序列图表
在仪表盘发布图表。
选择dashboard 按钮,将建立的图表添加进来。
以上就是apache superset可视化clickhouse数据的全过程了。
更多大数据,数据可视化技术,欢迎关注大数据流动~
上一篇: 阿里云数仓Dataworks数据导出到文件step by step
下一篇: Sqoop