簡介
superset是一款開源的商業智慧BI軟體,目前處於Apache孵化專案階段。支援圖表元件的視覺化拖拽,報表資料的自動化生成。以快速,輕量,靈巧著稱。它擁有豐富的資料來源支援,囊括幾乎所有關係資料庫和絕大多數當前流行資料倉庫。內建幾十類圖形報表元件,靈活的資料大盤配置,可滿足大部分企業內部統計報表需求。github社群活躍,截至目前31.6k star。是一款不錯的企業內部BI報表選擇。
支援資料來源更多可參考附錄官方文件。
官方提供docker-compose安裝方式,所以還需要安裝docker-compose元件。
docker-compose下載
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
設定執行許可權
chmod +x /usr/local/bin/docker-compose
docker-compose安裝成功驗證
docker-compose -v
顯示以下結果,表明docker-compose安裝成功。
安裝需要本地打包構建映象,所以還需要git工具。(這裡吐槽下官網的安裝指南,對初次使用者不太友好-_-||)
# centos上安裝gityum -y install git# github clone程式碼庫到本地git clone https://github.com/apache/incubator-superset.git# 切換superset目錄cd incubator-superset# docker-compose啟動supersetdocker-compose up
啟動日誌如下圖。注意!!!若透過虛擬機器安裝,請保證虛擬機器有大於2G記憶體空間(建議4G),筆者初試,因為記憶體資源問題定位了很久。。。
superset訪問
http://{安裝叢集ip}:8088賬號密碼: admin/admin
一些概念資料來源(database)資料接入來源,一般有mysql、Oracle、mssql等關係資料庫,Kylin、hive等大資料倉庫,excel、csv等檔案。資料集(dataset)圖表使用的基礎資料集合,superset中對使用資料的統一抽象。一般來自資料來源中的某些資料子集。圖表元件(chart)展示的圖表元件,如餅圖、線圖、地圖等。儀表盤(dashboard)按不同業務維度設定的圖表元件集合,用於在一個頁面展示不同的圖形報表。superset使用透過superset,要建立一個企業內部的大盤,需經過以下步驟:
Database – DataSet – charts – Dashboards
新增資料來源
新增資料集dataSet
建立圖表
選擇某一個圖表
圖表引數配置
大盤配置
中文亂碼問題資料庫出現中文亂碼時,透過配置utf-8字元編碼引數解決。如下圖,mysql資料來源配置新增字元編碼引數。
API介面前端有定製開發需求時,superset提供了後臺服務的api介面。可透過以下地址訪問。
http://{superset部署服務ip}:8088/swagger/v1
安裝其他資料來源驅動1. 程式碼倉庫建立requirements-local.txttouch ./docker/requirements-local.txt
2. 新增支援driver(以mysql為例)到檔案echo "mysqlclient" >> ./docker/requirements-local.txt
3. 重新構建docker映象docker-compose build --force-rm
4. 啟動docker服務docker-compose up
資料集DataSet是否支援join sqlSuperset只支援單表,不支援多表join關聯。可透過view方式變相實現多表join需求。
上傳檔案1. Edit Database
2. Check Allow Data Upload
3. Upload a csv/excel file.
附錄https://superset.apache.org/docs/intro(superset官方文件)
https://superset.apache.org/docs/creating-charts-dashboards/exploring-data(superset資料報表使用)
https://github.com/apache/incubator-superset(superset程式碼倉庫)
小結本文對superset bi開源工具進行了簡單介紹。涉及superset的定義,支援資料來源,工具的一些概念,安裝和使用,以及superset的一些注意事項。相信透過本文的瞭解,大家對superset會有一個整體的認識。