使用 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數據的全過程了。

更多大數據,數據可視化技術,歡迎關注大數據流動~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM