2024-02-01

【LinuxMint20.3】以 docker 安裝 Apache Superset -- 免費,開源的 BI

參考資料 ----


Superset 的安裝方式有:
  • Linux 套件安裝
  • 以 Docker Compose 佈署
  • 以 Kubernetes(K8S) 佈署
  • 在 Dockerhub 執行
  • 以 Pypi 下載安裝
  • 自 GitHub 下載安裝
  • 自 Apache 基金會官網下載安裝


本筆記採用 Docker Compose 佈署

安裝必要的相依套件
 
[user]$ sudo  apt  install  git  docker  docker-compose
 


複製資源庫
 
# 預定裝在 /usr/share
[user]$ cd  /usr/share
[user]$ sudo  git  clone  https://github.com/apache/superset.git

# 會看到生成 /usr/share/superset/ 目錄
 


執行 docker daemon
 
[user]$ cd  superset
# 執行 docker daemon
[user]$ sudo  systemctl  start  docker

# 檢查確認 docker daemon 執行狀態
[user]$ sudo  systemctl  status  docker
 


啟動 superset
 
# 第一次執行, 下傳 container, 一次性指令
[user]$ sudo  docker-compose  -f  docker-compose-non-dev.yml  pull

# 之後只要執行這指令
[user]$ sudo  docker-compose  -f  docker-compose-non-dev.yml  up
 


若要停止執行 superset,則 CTRL + C
這時會看到螢幕顯示
Stopping superset_app...
Stopping superset_worker_beat...
...
等正在停止程序的訊息

superset 內建並不支援 Microsoft SQL Server,若要連接 mssql,則要安裝驅動程式,官方建議的驅動為 pymssql
 
[user]$ sudo  vim  /usr/share/superset/docker/requirements-local.txt
# 輸入
pymssql

:x 存檔離開

# 再執行
[user]$ sudo  docker-compose  -f  docker-compose-non-dev.yml  up
# 就會自動安裝 pymssql 了
 


開啟瀏覽器,輸入網址
http://localhost:8088
登入帳/密:admin / admin

建立資料庫連線

點擊右上角的 "Settings"
Database Connections



+DATABASE
→ 可以看到列出的預設支援資料庫沒有 MS SQL Server
→ 下拉下方的 Supported databases,選擇最末的 Other



DISPLAY NAME (必填) 命名您的資料庫連線
SQLALCHEMY URI(必填) 輸入連線字串,格式為
 
mssql+pymssql://username:password@hostname:port/database_name

* 若 password 內含有 @ 字元,要改為 URL編碼(percent-encoding),改成 %40
* port 的部份,若您的 mssql 採用預設的 port,則可不填
 
→ 點擊 TEST CONNECTION 鈕確認連線正常
→ CONNECT 建立連線





設定為開機自動執行 superset

 
[user]$ sudo  vim  /etc/systemd/system/superset.service
# 輸入下述指令
[Unit]
Description=Apache  Superset
After=docker.service

[Service]
Type=simple
ExecStart=/usr/bin/docker-compose  -f  /usr/share/superset/docker-compose-non-dev.yml  up
ExecStop=/usr/bin/docker-compose  -f  /usr/share/superset/docker-compose-non-dev.yml  down

[Install]
WantedBy=multi-user.target

:x 存檔離開

# 啟用 docker.service 開機自動執行
[user]$ sudo  systemctl  enable  docker.service

# 啟用 superset.service 開機自動執行
[user]$ sudo  systemctl  enable  superset.service
 
重新開機,驗證 superset 確實開機自動執行


沒有留言:

張貼留言