基于docker搭建superset可視化分析平臺

對于可視化分析方面好啰,因為自己tableau已經(jīng)用的很熟了,想增加對superset的認識和熟練程度疑务,想搭建一個superset可視化分析平臺沾凄,以便于自己在平時工作時使用。查看了superset的官方文檔知允,發(fā)現(xiàn)superset必須使用python2.7或者python3.4撒蟀,但我平時工作使用的是python3.6,存在版本的沖突温鸽,直接在自己電腦上安裝比較麻煩保屯。剛好對docker容器技術(shù)有一些了解手负,但沒實踐過,所以周末花了一點時間研究了一下如何基于docker來搭建一個可用于實際工作的superset可視化分析環(huán)境姑尺。如果你對此也感興趣竟终,可參考如下文檔在自己的電腦上進行安裝。

環(huán)境搭建好以后

  • 在docker容器里面運行superset應(yīng)用切蟋,將端口映射到宿主機统捶,這樣可在宿主機中通過瀏覽器訪問docker中開啟的superset應(yīng)用。
  • 將宿主機中存儲sqlite數(shù)據(jù)庫文件的目錄映射給docker容器內(nèi)superset應(yīng)用的數(shù)據(jù)目錄敦姻,這樣只需要將數(shù)據(jù)存儲到宿主機指定目錄即可瘾境,方便進行分析。

我在windows和macOS上都進行了測試镰惦,本文分享的內(nèi)容是針對Windows來寫的.

1. windows10專業(yè)版迷守,確認電腦的CPU支持虛擬化,且開啟windows的hyper-v虛擬化功能
  • 家庭版的windows沒有hyper-v虛擬化功能旺入,不能夠運行docker
  • 專業(yè)版的windows要確保處理器支持虛擬化技術(shù)并且已開啟虛擬化,如下圖所示顯示虛擬化已啟用才可以兑凿。
image
image
  • 要開啟windows上的hyper-v虛擬化技術(shù),默認情況下hyper-v是沒有開啟的茵瘾,按Windows鍵礼华,輸入hyper-v,點擊啟用或關(guān)閉windows功能拗秘,開啟hyper-v圣絮,然后重啟電腦即可。
2. 安裝docker的windows版本

網(wǎng)址:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe

下載完成后雕旨,直接雙擊安裝即可扮匠。安裝完成后,配置一個國內(nèi)的docker鏡像凡涩,這樣在拉取倉庫時的速度更快棒搜。我使用的是daocloud.io提供鏡像加速服務(wù),是免費的活箕,只需要注冊一個賬號即可力麸。

網(wǎng)址如下:http://www.daocloud.io/

注冊后點擊加速器,就會自動給你生成一個鏈接

將該鏈接復(fù)制育韩,打開docker程序的設(shè)置選項克蚂,將此鏈接加入到鏡像網(wǎng)址列表,點擊apply,docker會進行重啟座慰,然后生效陨舱。

3. 在docker倉庫中拉取包含打包好的superset應(yīng)用的鏡像(images)
  • 在鏡像站中搜索與superset有關(guān)的鏡像
docker search superset
C:\Users\richstone> docker search superset
NAME                            DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
amancevice/superset             [0.20.4] Superset on Debian/Python3             81                                      [OK]
tylerfowler/superset            An extendable Docker image for Airbnb's Su...   1
dailyhotel/superset             Dockerized Superset                             1                                       [OK]
sergekatzmann/superset-oracle   Docker container for Superset (Caravel) wi...   1
tyyzqmf/superset                根據(jù)amancevice/superset修改的鏡像 主要解決superset聯(lián)hi...   1                                       [OK]
crobox/superset                 Superset + Clickhouse docker image              1                                       [OK]
mav1/superset_docker            docker for superset                             0                                       [OK]
zmhassan/openshift-superset                                                     0
tddv/superset                   Superset is come from airbub superset open...   0                                       [OK]
peertopark/superset             Peer to Park Superset                           0
huksley/superset                AirBnB Superset with MySQL driver               0                                       [OK]
ssskip/docker-superset          airbnb superset python27 docker image           0                                       [OK]
maedamikio/superset                                                             0
muicoder/superset               Superset is a data exploration platform de...   0                                       [OK]
cnero/superset                                                                  0
xjw263/superset-dev             superset dev. https://github.com/airbnb/su...   0                                       [OK]
ganshanshan/superset_tddv       tddv superset                                   0                                       [OK]
gauseng/superset                                                                0
mnagaku/superset                Docker image for Apache Superset (incubati...   0                                       [OK]
therevoltingx/superset                                                          0
xjw263/superset-base            superset-base                                   0                                       [OK]
treexor/superset                                                                0
linxsysadmin/superset                                                           0
ganshanshan/superset1           superset1                                       0                                       [OK]
harisekhon/superset             Superset open source analytics UI by AirBNB     0                                       [OK]
  • 選擇排在第一位,也就是star最多的那個倉庫amancevice/superset版仔,我這里指定鏡像分支版本為0.20.0游盲,這是我做測試時误墓,最新的版本,將這個版本拉取到本地益缎。
docker pull amancevice/superset:0.20.0

下載完成后如圖所示谜慌,顯示完成,且沒有報錯信息莺奔。

C:\Users\richstone> docker pull amancevice/superset:0.20.0
0.20.0: Pulling from amancevice/superset
219d2e45b4af: Pull complete
059cff580d2e: Pull complete
2a37b6ebe643: Pull complete
Digest: sha256:0b50f1e2d1a069f5be6a23039ad51f20ffa13ce0f8b6322d4b31f0f50d3449c2
Status: Downloaded newer image for amancevice/superset:0.20.0
  • 查看此時docker中的鏡像
docker images

可以看到我們剛剛下載的鏡像

 PS C:\Users\richstone> docker images
 REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
 amancevice/superset   0.20.0              6556ab9ce2be        13 days ago         1.53GB
4.在docker中運行superset
  • 在本地新建一個文件夾欣范,我新建的文件夾為D:/Data/sqlite。稍后將這個文件夾映射給容器內(nèi)的一個文件夾令哟,讓superset可以直接訪問宿主機的數(shù)據(jù)文件恼琼。
  • 需要注意的時,映射給docker容器的宿主機文件夾所在的驅(qū)動器要開啟共享屏富,可以在docker菜單中進行設(shè)置晴竞。
  • 開啟docker容器內(nèi)的superset應(yīng)用,開啟的同時進行端口映射狠半,并掛載宿主機的數(shù)據(jù)文件目錄D:/Data/sqlite
docker run -d -p 8088:8088 -v D:/Data/sqlite:/home/superset amancevice/superset:0.20.0

命令解釋

-d :后臺運行
-p :宿主機和容器進行端口映射
-v :宿主機與容器進行文件位置映射噩死,即將宿主機文件夾掛在到容器

成功開啟后將會返回一組字符串,這是容器的ID

C:\Users\richstone> docker run -d -p 8088:8088 -v D:/Data/sqlite:/home/superset amancevice/superset:0.20.0
c2fc56d845eac0919e04dd5b302021f2ac0b5c4f0dcb7c2d6a6c25dded0dfd08
  • 查看開啟的docker應(yīng)用
  docker ps
C:\Users\richstone> docker ps
CONTAINER ID        IMAGE                        COMMAND                CREATED             STATUS                   PORTS
         NAMES
c2fc56d845ea        amancevice/superset:0.20.0   "superset runserver"   9 minutes ago       Up 9 minutes (healthy)   0.0.0.0:8088->80
88/tcp   ecstatic_galileo
5.對superset進行初始化設(shè)置

復(fù)制容器ID神年,container的ID已维,稍后我們要在這個容器內(nèi)執(zhí)行一些命令來初始化superset應(yīng)用。

  • 設(shè)定superset的用戶名和密碼
  docker exec -it c2fc56d845ea  fabmanager create-admin --app superset
C:\Users\richstone> docker exec -it c2fc56d845ea  fabmanager create-admin --app superset
Username [admin]: ****
User first name [admin]: ****
User last name [user]: ****
Email [admin@fab.org]: ****
Password:
Repeat for confirmation:
Recognized Database Authentications.
  • 初始化數(shù)據(jù)庫
  docker exec -it c2fc56d845ea superset db upgrade
  • 創(chuàng)建默認角色和許可
  docker exec -it c2fc56d845ea superset init
  • 開啟superset服務(wù)
  docker exec -it c2fc56d845ea superset runserver
  • 打開宿主機上的瀏覽器已日,輸入http://localhost:8088 用你剛剛創(chuàng)建的用戶名進行登錄即可垛耳。
Snip20171017_2.png
6.停止與開啟superset服務(wù)
  • 列出在運行的容器
docker ps
C:\Users\richstone> docker ps
CONTAINER ID    IMAGE                       COMMAND               CREATED         STATUS            PORTS      NAMES

c2fc56d845ea  amancevice/superset:0.20.0   "superset runserver"   16 minutes ago      Up 16 minutes (healthy)   0.0.0.0:8088->8
088/tcp   ecstatic_galileo
  • 找到運行superset的容器ID,停止
docker stop c2fc56d845ea
  • 列出運行過的容器的ID飘千,找到運行superset的容器ID
docker ps -a
  • 開啟superset服務(wù)
docker start c2fc56d845ea
7.向宿主機的E:/Data/sqlit文件導(dǎo)入sqlite數(shù)據(jù)庫文件

打開http://localhost:8088登錄你的賬號名與密碼艾扮,即可對數(shù)據(jù)庫文件中的表進行查詢與可視化分析。

Windows上運行docker很容易出現(xiàn)各種各樣的問題占婉,所以推薦Linux系統(tǒng)或者macOS系統(tǒng)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末甫恩,一起剝皮案震驚了整個濱河市逆济,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌磺箕,老刑警劉巖奖慌,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異松靡,居然都是意外死亡简僧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門雕欺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岛马,“玉大人棉姐,你說我怎么就攤上這事±材妫” “怎么了伞矩?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長夏志。 經(jīng)常有香客問我乃坤,道長,這世上最難降的妖魔是什么沟蔑? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任湿诊,我火速辦了婚禮,結(jié)果婚禮上瘦材,老公的妹妹穿的比我還像新娘厅须。我一直安慰自己,他們只是感情好宇色,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布九杂。 她就那樣靜靜地躺著,像睡著了一般宣蠕。 火紅的嫁衣襯著肌膚如雪例隆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天抢蚀,我揣著相機與錄音镀层,去河邊找鬼。 笑死皿曲,一個胖子當(dāng)著我的面吹牛唱逢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播屋休,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼坞古,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了劫樟?” 一聲冷哼從身側(cè)響起痪枫,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎叠艳,沒想到半個月后奶陈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡附较,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年吃粒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拒课。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡徐勃,死狀恐怖事示,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情疏旨,我是刑警寧澤很魂,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站檐涝,受9級特大地震影響遏匆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谁榜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一幅聘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧窃植,春花似錦帝蒿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至延塑,卻和暖如春绣张,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背关带。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工侥涵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宋雏。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓芜飘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親磨总。 傳聞我的和親對象是個殘疾皇子嗦明,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

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