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-sqlalchemyclickhouse-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=trueAltinity.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 将切换到一个屏幕来定义一个图表,如下所示。