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資料的全過程了。
更多大資料,資料視覺化技術,歡迎關注大資料流動~