Apache Superset是一个强大的BI工具,它提供了查看和探索数据的方法。它在 ClickHouse 用户中也越来越受欢迎。
我们将介绍安装 Superset 的 2 种方法,然后展示如何从 Superset 连接到您的第一个 ClickHouse 数据库。代码示例基于 Ubuntu 18.04、Superset 1.1.0 和 clickhouse-sqlalchemy 0.1.6。
第一种方法直接在您的主机上安装 Superset。我们将首先创建一个 Python 虚拟环境。以下是常用命令。
python3 -m venv clickhouse-sqlalchemy
. clickhouse-sqlalchemy/bin/activate
pip install --upgrade pi
安装依赖包
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
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 run -p 8088 --with-threads --reload --debugger
浏览器访问 localhost:8088
您将看到如下所示的登录屏幕。输入您在 Superset 安装期间定义的管理员登录名和密码(例如,admin/secret)。
如果您不想纠结于 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-public
SQLALCHEMY 网址:clickhouse+native://demo:[email protected] /default?secure=true
Altinity.Cloud是一个公共的数据集站点。
按下测试连接按钮。成功后保存链接。
连接使用了 SQLAlchemy,这是一种用于连接 ClickHouse 以及许多其他数据库的通用 API。
SQLAlchemy 连接使用支持多个驱动程序的专用 URL 格式。要连接到 ClickHouse,您需要提供一个类似于我们之前显示的 URL:
clickhouse+native://demo:[email protected]/default?secure=true
连接ClickHouse 有两个主要的协议,原生TCP和HTTP。
建议使用原生TCP。
clickhouse+native://:@:/[?options…]
我们已经成功连接了clickhouse,下面我们使用superset建立一个仪表盘。
首先,让我们创建数据集。选择 clickhouse-public 作为连接,然后选择 schema default和 table ontime。
有了数据集后,创建第一个图表就很简单了。只需单击数据集页面上的数据集名称。Superset 将切换到一个屏幕来定义一个图表,如下所示。
创建一个时间序列图表
在仪表盘发布图表。
选择DASHBOARD 按钮,将建立的图表添加进来。
以上就是Apache Superset可视化ClickHouse数据的全过程了。
更多大数据,数据可视化技术,欢迎关注大数据流动~