![Python+Superset:商业智能数据分析与实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/466/43738466/b_43738466.jpg)
3.3 Apache Superset的安装
本节将详细介绍Apache Superset(以下简称为Superset)的安装步骤,包括在Docker环境和Windows环境下部署Superset,推荐优先使用Docker环境进行安装,该环境的部署相对简单,且不容易出错。
3.3.1 在Docker中部署Apache Superset
在Docker环境中安装部署Superset相对简单,在Docker容器里面运行Superset应用,将端口映射到宿主机,这样可在宿主机中通过浏览器访问Docker中开启的Superset应用。
在安装之前,需要检查系统是否符合最低要求,我们以Docker 3.5.2.0版本为例,具体要求如下:
◆ Windows 10 64位操作系统:专业版2004、企业版1909、教育版1909或更高版本。
◆ 必须启用Hyper-V和容器Windows功能。
要在Windows 10操作系统成功运行客户端Hyper-V,需要满足以下硬件条件:
具有二级地址转换(SLAT)的64位处理器。
4GB系统内存。
必须在BIOS设置中启用BIOS级硬件虚拟化支持,如图3-4所示。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-54-1.jpg?sign=1739308438-40r5s4Mxnn155sUDy3dFjssGyCwqfYMU-0-77527aaa5af9e70c96a50d6e3b2c7b62)
图3-4 启用虚拟化支持
对于Windows 10家庭版操作系统,还需要在“Windows功能”界面中开启“虚拟机平台”功能,如图3-5所示。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-55-1.jpg?sign=1739308438-dTUAoYpHXTxx4bL8qJgEM8cWUY9Yg1EC-0-fd5e9a556c69ea1e438104b0199958a8)
图3-5 开启虚拟机平台
下面介绍如何安装Docker,首先到Docker的官方网站下载“Docker Desktop for Windows”,如图3-6所示。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-55-2.jpg?sign=1739308438-stJjQBQVV3KlvIgU1x4Os7eO1nLVFHuA-0-aa263e1aa216980c7dd97193db511863)
图3-6 下载Docker
软件下载完成后,单击“Docker Desktop Installer.exe”文件进行安装,如图3-7所示。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-55-3.jpg?sign=1739308438-JtOLjr97ufkxbkyZIkO5gQLIdgKrbT5K-0-324808aee95a2a524e3c7fc892ba5f99)
图3-7 安装Docker
然后,自动进入Docker的正式安装过程,如图3-8所示。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-56-1.jpg?sign=1739308438-ozm5Dwzks7GZhcKXF5yRAVhtTYWG1aUm-0-856a98bf88b0c1b21e0b3f29ff4610e9)
图3-8 正式安装过程
Docker安装结束后,会弹出程序安装成功的对话框,如图3-9所示。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-56-2.jpg?sign=1739308438-qeqTsVWS9LNQMzvmJHOm0uxMHDu0GX8I-0-61b47cc78dc8d2f75b8c0a185cf01882)
图3-9 安装成功对话框
接着就可以使用Docker快速安装最新版本的Apache Superset,下面介绍具体的安装步骤。
在CMD命令提示符中搜索与Superset有关的镜像,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-57-1.jpg?sign=1739308438-5iR1hvwTjPMksl1DQ3VKR0ZlyrjKbDcf-0-bd6e88fec8f63dab70d555414fed321e)
选择排在第一位,也就是星级最多的镜像仓库“amancevice/superset”,这里使用的版本默认是1.2.0版本,将镜像拉取到本地的代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-57-2.jpg?sign=1739308438-76NRjkuwt10CB4PFV5K4qbHUonTtqqUn-0-b775041f8d268029e42927ff27043613)
也可以指定版本号,如0.36.0版本,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-57-3.jpg?sign=1739308438-ENvjRTj1t5QiXwC3uivIgi2bF9aQyNfb-0-9fda7b33bb0d5b2c33ecc3c04f91213d)
下载完成后显示完成信息,且没有报错信息,查看此时Docker中的镜像,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-57-4.jpg?sign=1739308438-Fca8V6dfSavaew3V8bcHJzMjyA0A0jAG-0-cd7d042d09f524056c95ea33e4f707ce)
可以看到刚刚下载的Superset镜像,显示结果如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-57-5.jpg?sign=1739308438-RwNEl0E9I0jJx0XhBi6Yb7gBVV8jnZpR-0-eccabe56ce5b5c9ca1b6a77eb837bf55)
开启Docker容器内的Superset应用,在开启的同时进行端口映射,启动容器,将8088端口暴露到本机8088端口,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-57-6.jpg?sign=1739308438-tPkK9cYGrYmGWp7xoSppn31mvMoi1V8D-0-bde89e3b42078dc4355a9819150b44c1)
其中,-d表示后台运行;-p代表宿主和容器的端口映射。
查看开启的Docker应用,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-57-7.jpg?sign=1739308438-IAJwBdofaVYl2rcK4x83nrO03Ci28Cr6-0-ccb46baa3d746feebc32dd791d62bc43)
然后以root用户进入运行的Superset,其中“5d585a2036d8”是容器ID,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-57-8.jpg?sign=1739308438-sINCPP1c9hs3Pdctjw41srogKGoHdyvg-0-9f71aa3cbc02d36034e807361d404ce1)
接下来创建Superset管理员用户,最新的创建管理员用户的命令是flask,它是一个Python Web框架,Superset使用这个框架,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-57-9.jpg?sign=1739308438-13BxkqW2C7cBnoB8JDKVoKuitB8rPgkR-0-242e85c0b8c84aeab8eb992c2eae7243)
初始化Supetset数据库命令,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-58-1.jpg?sign=1739308438-8c8CPHIcuByc6jmXl0i8bV2hQ5Z6OWgU-0-60716939639c589d84a2780685a47b34)
可以直接使用下面的命令启动Supterset,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-58-2.jpg?sign=1739308438-dvcDgaiLk4eh1i4Gnbh8WGSXEeyCXd5O-0-4720b943080b966b5123940e900fb20f)
打开浏览器访问本地的8088端口,登录界面如图3-10所示。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-58-3.jpg?sign=1739308438-buJGXlsW4We3m7GE02VB8QJTbkOjjLvZ-0-a90f0f4002103e088c6e00e07ead16c0)
图3-10 登录界面
3.3.2 在Windows下安装Apache Superset
下面详细介绍Apache Superset的安装过程,系统环境是Windows 10 64位家庭版操作系统,安装该软件很容易出现各种各样的问题,主要是版本问题,因此建议遵照下述的安装步骤进行操作,否则可能无法正常安装。笔者将在安装过程中可能遇到的要注意的部分问题记录下来,供读者参考。
步骤1:创建虚拟环境
安装Anaconda,由于其自带的Python版本较高,所以需要创建Python 3.7或者是Python 3.8的虚拟环境,笔者这里使用的是Python 3.7版本,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-58-4.jpg?sign=1739308438-8KF3I2WGzZkMDcnJAsSUCfyw5bCQCzKe-0-dbee305129bda4e3f281e7060e03af2e)
注意:这里之所以选择使用Python 3.7版本,是因为Apache Superset的各种依赖都有严格的版本控制,因此建议大家使用Python 3.7版本,在创建版本时会提示确认安装相关基础包,这些包是必不可少的。
在创建好新虚拟环境后,需要对其进行激活,相关操作的代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-59-1.jpg?sign=1739308438-D3osd4SMd1QelUsFejWQjV7OCHkpcZ85-0-38ab35372aab9f1d00837087907f2af9)
步骤2:安装Apache Superset及其相关包
安装python-geohash和openssl依赖包,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-59-2.jpg?sign=1739308438-tTwQaCtBSNlZvgmktBbYJYY8ZxDLf5P7-0-89f0341a6f10f91cb5b4e6906d8bedac)
安装apache-superset,在安装该包时,程序会默认安装大量的依赖包,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-59-3.jpg?sign=1739308438-ZZYI8rrPWb3H0UFA0QgYgZhEFxolxLFn-0-b15a464395a7832b9a3ae691e4075d39)
注意:这里使用pip install apache-superset,也可以带上版本号,1.0版本之前的版本需要使用pip install superset。
步骤3:启动Apache Superset
首先声明变量,使用FLASK_APP来说明Flask实例对象的位置,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-59-4.jpg?sign=1739308438-93dNbvRdT7f2PQXq2goRY7Bbiz0TqZbM-0-51a99001b292fc16e8c9bdf3d80cbd1a)
说明:Flask是一个Python Web框架,Apache Superset使用的就是Flask。
执行如下命令创建用户,新建一个用户名是admin的用户,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-59-5.jpg?sign=1739308438-STiSFfAZl5OlmhMUv4m9qqzIpfJQ6LFp-0-5bcca3fb32ae7ed59248bc3059001ea5)
接着初始化数据库、加载案例数据、初始化角色和权限,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-59-6.jpg?sign=1739308438-hufR0AAX34qMV3c9nh5chdVZVqN8n4xk-0-9cc99b5ceb7e9d91599d86864da1bf2e)
注意:若命令superset load_examples访问的是国外网站,则可能无法正常加载,但并不影响后续平台的正常使用,笔者也在多次重复执行后才正常完成。
最后,启动Apache Superset,代码如下。
![](https://epubservercos.yuewen.com/C2A77D/23020656209777506/epubprivate/OEBPS/Images/42865-00-60-1.jpg?sign=1739308438-3MYCOuicpl9ixamlb8LTA7dg2Um2kHeC-0-f3e8a3d0fb9b17c1368f2614f1fc8e2a)
步骤4:登录Apache Superset平台
在浏览器中打开本地地址,端口号是8088,如果显示登录界面,则说明Superset已经安装成功。