对于可视化分析方面,因为自己tableau已经用的很熟了,想增加对superset的认识和熟练程度,想搭建一个superset可视化分析平台,以便于自己在平时工作时使用。查看了superset的官方文档,发现superset必须使用python2.7或者python3.4,但我平时工作使用的是python3.6,存在版本的冲突,直接在自己电脑上安装比较麻烦。
环境搭建好以后
1. 在docker仓库中拉取包含打包好的superset应用的镜像(images)
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 根据amancevice/superset修改的镜像 主要解决superset联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]
docker pull amancevice/superset:0.20.0
下载完成后如图所示,显示完成,且没有报错信息。
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 images
可以看到我们刚刚下载的镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
amancevice/superset 0.20.0 6556ab9ce2be 13 days ago 1.53GB
4.在docker中运行superset
sqlite
。稍后将这个文件夹映射给容器内的一个文件夹,让superset可以直接访问宿主机的数据文件。
D:/Data/sqlite
docker run -d -p 8088:8088 -v D:/Data/sqlite:/home/superset amancevice/superset:0.20.0
命令解释
-d :后台运行
-p :宿主机和容器进行端口映射
-v :宿主机与容器进行文件位置映射,即将宿主机文件夹挂在到容器
成功开启后将会返回一组字符串,这是容器的ID
docker run -d -p 8088:8088 -v D:/Data/sqlite:/home/superset amancevice/superset:0.20.0
c2fc56d845eac0919e04dd5b302021f2ac0b5c4f0dcb7c2d6a6c25dded0dfd08
docker ps
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进行初始化设置
复制容器ID,container的ID,稍后我们要在这个容器内执行一些命令来初始化superset应用。
docker exec -it c2fc56d845ea fabmanager create-admin --app superset
docker exec -it c2fc56d845ea fabmanager create-admin --app superset
Username [admin]: ****
User first name [admin]: ****
User last name [user]: ****
Email [[email protected]]: ****
Password:
Repeat for confirmation:
Recognized Database Authentications.
docker exec -it c2fc56d845ea superset db upgrade
docker exec -it c2fc56d845ea superset init
docker exec -it c2fc56d845ea superset runserver
Snip20171017_2.png
6.停止与开启superset服务
docker ps
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
docker stop c2fc56d845ea
docker ps -a
docker start c2fc56d845ea
7.向宿主机的E:/Data/sqlit
文件导入sqlite数据库文件
打开http://localhost:8088
登录你的账号名与密码,即可对数据库文件中的表进行查询与可视化分析。