Apache Superset 是一款 Apache 基金會的開源資料視覺化與商業智慧(Business Intelligence, BI)平台。其設計目標是提供一個輕量級、可擴展、易於部署的資料探索與儀表板工具,讓使用者能透過簡單直觀的操作來分析與呈現各種數據。其核心是基於 Python 與 Flask Web 框架構建,並支援連接各種 SQL 資料庫,如 MySQL、PostgreSQL、Oracle、SQLite、Snowflake、BigQuery 等。前端則採用 React.js 與 Apache ECharts 進行互動式圖表與儀表板渲染,提供高度可自訂的視覺化能力。另外,其能與 Docker、Kubernetes 等容器化平台整合,具備水平擴展能力,方便企業在既有基礎架構中導入。
Superset作為BI數據平台,除了豐富的資料視覺化方式和,其也具備SQL Lab 查詢頁面,讓使用者可直接在瀏覽器中撰寫 SQL,並將查詢結果儲存為自命名的數據集,並透過互動式儀表板即時呈現可視化結果。而互動式儀表板(Dashboard)可將多個圖表組合為單一儀表板,並支援篩選器、時間區間切換與動態更新,適合經營管理團隊查看各項營運數據。
本文主要著重於Apache Superset的docker compose安裝方式,以快速建置SuperSet環境,並連接到MySQL內的Sakila範例資料庫,透過SQL語法篩選和儲存數據集,最後在Dashboard上呈現。過程步驟如下:
Docker compose 安裝
1. Clone Superset 的 GitHub到本地端
完成後,可在當前目錄中看到一個 Superset 資料夾被創建出來。
2. 選擇官方的docker compose up方式
##export TAG=5.0.0
# Fetch the tag you're about to check out (assuming you shallow-cloned the repo)
##sudo git fetch --depth=1 origin tag $TAG
# Could also fetch all tags too if you've got bandwidth to spare
# git fetch --tags
# Checkout the corresponding git ref
##sudo git checkout $TAG
# Fire up docker compose
sudo docker compose -f docker-compose-image-tag.yml up
3.訪問superset服務
username: admin
password: admin
連接MySQL數據集
當Superset連接MySQL的Sakila資料庫,接續即可藉由SQL Lab 語法頁面篩選數據和儲存數據集,並建置對應的互動式圖表與儀表板。最後要提醒的是,若要用於生產環境,官方建議用k8s來安裝和部署較佳。
沒有留言:
張貼留言