docker搭建superset搭建及其使用

簡介

曾用名Caravel, Panoramix, 是由Airbnb(知名在線房屋短租公司)開源的數(shù)據(jù)分析與可視化平臺, 該工具主要特點是可自助分析, 自定義儀表盤, 分析結(jié)果可視化(導(dǎo)出), 用戶/角色權(quán)限控制, 還集成了一個SQL編輯器, 可以進行SQL編輯查詢等债查。

安裝

我使用docker進行安裝, 本以為很簡單, 中間還是遇到一些坑赎离,總結(jié)如下:

1、首先安裝docker

2炸客、創(chuàng)建相關(guān)目錄

mkdir /data/docker/volumes/superset/conf -p

mkdir /data/docker/volumes/superset/data -p

拉取鏡像superset鏡像

docker pull?amancevice/superset:0.18.5

注:這一步可以省略剃根,默認第三步會創(chuàng)建相關(guān)目錄

3打毛、創(chuàng)建容器

docker run -p 8088:8088 -v /data/docker/volumes/superset/conf:/etc/superset -v /data/docker/volumes/superset/data:/data --name superset -d?amancevice/superset:0.18.5

4速蕊、使用配置文件

vi /data/docker/volumes/superset/conf/superset_config.py

輸入內(nèi)容

#---------------------------------------------------------

# Superset specific config

#---------------------------------------------------------

ROW_LIMIT = 5000

SUPERSET_WORKERS = 4

SUPERSET_WEBSERVER_PORT = 8088

#---------------------------------------------------------

#---------------------------------------------------------

# Flask App Builder configuration

#---------------------------------------------------------

# Your App secret key

SECRET_KEY = '\2\1thisismyscretkey\1\2\e\y\y\h'

# The SQLAlchemy connection string to your database backend

# This connection defines the path to the database that stores your

# superset metadata (slices, connections, tables, dashboards, ...).

# Note that the connection information to connect to the datasources

# you want to explore are managed directly in the web UI

SQLALCHEMY_DATABASE_URI = 'sqlite:////data/superset.db'

# Flask-WTF flag for CSRF

WTF_CSRF_ENABLED = True

SQLALCHEMY_TRACK_MODIFICATIONS = True

SQLALCHEMY_COMMIT_TEARDOWN = True

# Set this API key to enable Mapbox visualizations

MAPBOX_API_KEY = ''

加入

SQLALCHEMY_TRACK_MODIFICATIONS = True

SQLALCHEMY_COMMIT_TEARDOWN = True

是為了處理warning

UserWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning.

? warnings.warn('SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.? Set it to True to suppress this warning.')? ? ??

問題就出現(xiàn)在sqlite的路徑上, sqlite默認存儲在sqlite:////home/superset/.superset/superset.db, 我這里為了以后升級, 所以切換了存儲路徑, 這里有兩種做法

1)直接將/home/superset/.superset/路徑映射出來

2)將/home/superset/.superset/superset.db文件拷貝到/data目錄

我這里選擇的是第二種, 坑也在這, 使用

docker exec -it superset /bin/bash

cp /home/superset/.superset/superset.db /data? ?

失敗, 發(fā)現(xiàn)沒有權(quán)限, ls了一下才發(fā)現(xiàn)當前用戶是非root用戶, 而/data目錄是root權(quán)限.

經(jīng)過一番查找, 發(fā)現(xiàn)可以使用以下命令用root賬號登陸容器

docker exec -u 0 -it superset /bin/bash

0號用戶就是root用戶, 剩下來的就簡單了

mv /home/superset/.superset/superset.db /data

運行

ERROR:flask_appbuilder.security.sqla.manager:DB Creation and initialization failed: (sqlite3.OperationalError) unable to open database file (Background on this error at: http://sqlalche.me/e/e3q8)

百度了一下,錯誤有許多種乖仇,這里稍微列舉一些

1)數(shù)據(jù)庫路徑最好寫成絕對路徑憾儒,并且目錄要存在,而且?對目錄要有讀寫的權(quán)限乃沙, 因為打開數(shù)據(jù)庫的時候起趾,會產(chǎn)生臨時數(shù)據(jù);

2)在Win 7 enterprise 和 Win Xp Pro上面寫python v2.7時警儒,?'C:\Users\Lux\Desktop\History'?路徑 有時候要寫成?'C:\\Users\\Lux\\Desktop\\History'训裆;

3)有種情況我也是無法解釋的,某些時候你的數(shù)據(jù)庫文件后綴名不是?db?也不行蜀铲,需要改名為?xxx.db?边琉;

4)對數(shù)據(jù)庫文件要有讀寫的權(quán)限;

我遇到的是第一個情況记劝,只需要數(shù)據(jù)目錄授權(quán)即可变姨,

cd /data/docker/volumes/superset/

chmod?-R?777 data

5、退出容器, 重啟容器, 然后進行用戶初始化

docker restart superset

6厌丑、配置superset容器

設(shè)置用戶名和密碼(docker exec -it 容器ID fabmanager create-admin –app superset)

初始化數(shù)據(jù)庫(docker exec -it 容器ID superset db upgrade)

superset初始化(docker exec -it 容器ID superset init)

開啟superset服務(wù)(docker exec -it 容器ID superset runserver)

訪問地址http://localhost:8088

配置數(shù)據(jù)源

注意連接mysql的時候一定要加charset=utf8, 要不然中文會顯示亂碼.

點擊Test? Connection, 進行測試, 如果正常會顯示"Seems OK!"

添加要展示的表

創(chuàng)建slice, 然后將創(chuàng)建好的slice加入到dashboard

我感覺這部分不難, 自己摸索摸索總歸能夠用起來, 我這里就不詳細說了

多表展示

這里要特別強調(diào)一下如何顯示多表的展示, 很多文章都說superset不支持多表, 只支持單表, 我剛開始也以為是這樣, 后來發(fā)現(xiàn)這個方法可以進行基于多表的展示.

首先記得數(shù)據(jù)庫配置里先勾選"Expose in SQL Lab", 要不然在SQL Lab中是找不到數(shù)據(jù)源的

Expose in SQL lab.png

先執(zhí)行一個語句, 注意查詢結(jié)果中不要有相同的列, 如果有, 后續(xù)會提示錯誤

點擊"Query History", 選擇Visualize

勾中一個, 會有以下效果, 我基本都是用默認屬性, 然后點擊最下方按鈕

他會跳到slice的編輯頁, 可以進行編輯, 其實他這個過程是創(chuàng)建了一個以查詢?yōu)榻Y(jié)果的臨時表, 后續(xù)就是在這個臨時表中做展示. 知道這個原理, 也可以通過直接添加表來進行操作, 只是操作流程不允許寫入sql, 可以先添加, 然后再填入sql(我沒嘗試過, 應(yīng)該行得通)

table detail.png

最終結(jié)果如下

結(jié)語

文章寫的有點啰嗦, 如果你有數(shù)據(jù)可視化的問題, 希望這篇文章能夠給予你一定的幫助, 目前我觀察下來, 這部分做的好的軟件不多, 很多都是靠賣服務(wù)賺錢的, 比如數(shù)據(jù)觀(人家做的真好, 其實挺鼓勵使用人家的服務(wù)的, 如果沒什么研發(fā)人員, 可以優(yōu)先考慮使用), 希望這個軟件可以滿足老板的部分需求. 據(jù)說這里面的圖表還可以嵌入到其他系統(tǒng)中, 沒有仔細研究過, 不過這種不易調(diào)優(yōu)的查詢, 最好還是臨時用用就好, 別嵌入到系統(tǒng)中, 穩(wěn)定性和性能都不能有所保障.

最后還是附幾張人家的圖表截圖吧

spanshot1.png

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末定欧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子怒竿,更是在濱河造成了極大的恐慌砍鸠,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耕驰,死亡現(xiàn)場離奇詭異爷辱,居然都是意外死亡,警方通過查閱死者的電腦和手機耍属,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進店門托嚣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人厚骗,你說我怎么就攤上這事【た蓿” “怎么了领舰?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我冲秽,道長舍咖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任锉桑,我火速辦了婚禮排霉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘民轴。我一直安慰自己攻柠,他們只是感情好,可當我...
    茶點故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布后裸。 她就那樣靜靜地躺著瑰钮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪微驶。 梳的紋絲不亂的頭發(fā)上浪谴,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天,我揣著相機與錄音因苹,去河邊找鬼苟耻。 笑死,一個胖子當著我的面吹牛扶檐,可吹牛的內(nèi)容都是我干的凶杖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼蘸秘,長吁一口氣:“原來是場噩夢啊……” “哼官卡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起醋虏,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤寻咒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后颈嚼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體毛秘,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年阻课,在試婚紗的時候發(fā)現(xiàn)自己被綠了叫挟。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡限煞,死狀恐怖抹恳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情署驻,我是刑警寧澤奋献,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布健霹,位于F島的核電站,受9級特大地震影響瓶蚂,放射性物質(zhì)發(fā)生泄漏糖埋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一窃这、第九天 我趴在偏房一處隱蔽的房頂上張望瞳别。 院中可真熱鬧,春花似錦杭攻、人聲如沸祟敛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽垒棋。三九已至,卻和暖如春痪宰,著一層夾襖步出監(jiān)牢的瞬間叼架,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工衣撬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留乖订,地道東北人。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓具练,卻偏偏與公主長得像乍构,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子扛点,可洞房花燭夜當晚...
    茶點故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內(nèi)容