Superset 数据分析平台搭建及使用 1Superset 数据分析平台搭建

Superset 数据分析平台搭建

一、实验介绍

1.1 实验内容

Superset 是 Airbnb 开源的数据分析与可视化平台,同时也是由 Python 语言构建的轻量级 BI 系统。Superset 可实现对 TB 量级数据进行处理,兼容常见的数十种关系或非关系型数据库,并在内部实现 SQL 编辑查询等操作。除此之外,基于 Web 服务的 Superset 可实现多用户协使用,并可针对不同角色进行权限管理。Superset 如今已归属于 Apache 孵化项目,并被 Yahoo,豆瓣等国内外知名公司使用。

1.2 实验知识点

  • Superset 平台搭建

1.3 实验环境

  • python2.7

  • Xfce 终端

1.4 适合人群

本课程难度为一般,属于初级级别课程,适合具有 Python 基础,并对数据分析与可视化感兴趣的用户。

二、Superset 平台搭建

Superset 基于 Web 分析与可视化平台,目前支持 Python 2.7 和 Python 3.4 版本。官方介绍称,暂时未有支持其他版本的计划。

下面,介绍 Superset 如果安装配置,文档基于实验楼在线环境。如果你选择在本地安装,可能会因为环境不同出现一些问题,但大部分时候都可以顺利进行。

2.1 安装依赖

首先,需要安装依赖。打开实验楼在线环境 终端 ,键入:

    sudo apt-get update
   
  sudo apt-get install build-essential libssl-dev libffi-dev python-dev python-pip libsasl2-dev libldap2-dev

如果你在本地 Fedora 或 RHEL-derivatives 安装,键入:

    sudo yum upgrade python-setuptools
   
  sudo yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel

如果你在本地 macOS 上安装,键入:

    brew install pkg-config libffi openssl python
   
  env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" pip install cryptography==1.7.2

2.2 使用 virtualenv 虚拟环境

Superset 推荐我们新建一个 virtualenv 虚拟环境来安装 Superset,这样也可以避免出现一些冲突或依赖问题。

首先,我们需要安装 virtualenv:

    sudo pip install virtualenv

然后创建和激活一个叫 superset 的新环境,这里我们通过参数指定版本已匹配 Superset 支持的 python 环境:

    virtualenv superset --python=python2.7
   
  source superset/bin/activate

此时,我们看到终端命令前变成了 superset 开头:

 

如果你在线下使用 Anaconda 或者 conda,创建虚拟环境的操作为:

    conda create -n superset python=2.7
   
  activate superset

2.3 安装和配置 Superset

接下来,我们使用 pip 来安装 superset。首先升级 pipsetuptools 到最新版本。

    sudo pip install --upgrade setuptools pip

然后安装 superset,由于依赖包非常多,这个过程需要持续几分钟:

    sudo pip install superset

安装完成之后,需要先创建 superset 管理员用户。

    fabmanager create-admin --app superset

键入命令后,会提示你依次输入用户名和密码,创建用户需要稍等片刻。

 

创建好用户之后,需要初始化数据库:

    sudo superset db upgrade

数据库初始化完成之后,我们可以载入一些样本数据到数据库中(样本数据来源于世界卫生组织,由于在线环境网络原因,样本数据很可能下载失败。):

    sudo superset load_examples

然后,创建默认角色和许可:

    sudo superset init

最后,运行 superset 服务。superset 的 Web 服务默认端口为 8088 ,你可以通过 -d 参数指定端口。

    superset runserver

 

然后,我们打开浏览器。输入: http://localhost:8088http://0.0.0.0:8088 就可以看到 superset 的登陆界面了。

 

2.4 Superset 中文化

启动 Superset 之后,我们可以看到默认是英文界面。为了更都符合更多人的使用习惯,我们可以将其中文化。

实际上,Superset 官方提供了中文化,只是没有激活,我们需要到配置文件中处理一下。

首先,我们打开 Superset 安装目录。如果你刚刚是按照上述流程通过实验楼在线环境操作,那么 superset 的安装目录位置应该如下所示。

 

    # 切换到安装目录
    cd /usr/local/lib/python2.7/dist-packages/superset
    
    # 使用 vim 编辑配置文件
    
    sudo vim config.py

此时,我们需要找到如图所示的两行内容。将 BABEL_DEFAULT_LOCALEen 改为 zh 。然后取消掉下方对中文语言的注释项。

 

保存配置文件并退出。这还没有结束,我们需要下载官方语言文件。

    # 新建语言文档目录
    sudo mkdir -p translations/zh/LC_MESSAGES
    
    # 切换到该目录
    cd translations/zh/LC_MESSAGES
    
    # 获取 2 个中文语言文件
    sudo wget http://labfile.oss.aliyuncs.com/courses/919/messages.po
    sudo wget http://labfile.oss.aliyuncs.com/courses/919/messages.mo

然后,我们关闭终端,重新运行 superset,不要忘记重新激活虚拟环境:

    # 激活虚拟环境
    source superset/bin/activate
    
    # 运行 superset
    superset runserver

我们再次打开 web 页面,现在应该看到的是中文界面了。

 

使用先前创建的管理员账号登陆,Superset 环境就正式搭建完成了。

 

2.4 示例数据缺失处理

如果你登陆到 Superset 之后,看板没有示例数据内容,说明之前的数据下载失败。你可以通过下载实验楼服务器上的完整数据库来继续使用。在这之前,请先关闭终端。

    # 切换到 superset 数据库文件夹
    cd ~/.superset
    
    # 删除原数据库
    rm superset.db
    
    #下载新数据库
    wget http://labfile.oss.aliyuncs.com/courses/919/superset.db

由于我们替换数据库,重新启动之后,管理员账户会发生改变,现在的用户名为: shiyanlou ,密码为 123456

登陆之后,你应该能看到看板数据了。 由于数据库链接尚未修改,看板是无法成功加载数据的 。我们需要通过顶部数据库菜单进入修改:

 

 

然后将原数据库链接 sqlite:root/.superset/superset.db 修改为实验楼链接 sqlite:home/shiyanlou/.superset/superset.db

修改之后,点击 Test Connection 测试链接,如果出现 Seems OK! ,即代表链接正常。

 

保存之后,重新打开看板,应该就生效了。

三、实验总结

本章节主要演示了如果一步一步完成 Superset 的安装。总体来讲,Superset 安装过程中不存在大坑,只要安装步骤执行,基本都能顺利完成。当然,如果你熟悉 Docker,也是可以通过拉取官方认可的社区镜像一步完成安装。

    # 拉取 Superset 社区 Docker 镜像
    docker pull amancevice/superset

 

上一篇:字段是字段,属性是属性,字段不是属性,属性看getter或setter


下一篇:Superset 下钻与交叉筛选