欢迎光临
我们一直在努力

windows下Superset开发环境的搭建

windows下Superset开发环境的搭建

优秀的数据分析平台,首先要满足数据查询、统计、多维分析、数据报表等功能。今天教大家如何搭建一套数据分析平台superset。
这里写图片描述

  1. Superset

    Superset是一款轻量级的BI工具,由Airbnb的数据部门开源。整个项目基于Python框架,不是Python我也不会推荐了,它集成了Flask、D3、Pandas、SqlAlchemy等。Superset本身集成了数据查询功能,查询对分析师那是常有的事。它支持各类主流数据库,包括MySQL、PostgresSQL、Oracle、Impala、SparkSQL等,深度支持Druid。后台支持权限分配管理,针对数据源分配账户。所以它在部署服务器后,分析师们可以通过它查询数据,也能通过数据建立Dashboard报表。

  2. 安装

    1.假设你已经安装好了python和pip。(python的版本建议安装Python 3.4 以上版本,Python 2.7 版本在windows 上存在各种编码问题。)
    2.安装 virtualenv。(此步骤可选,直接安装的话跳到第四步。因为Superset需要安装的组件较多,最好是使用virtualenv独立一套python环境。)若将Superset安装到python的安装目录下可能会影响原来python的开发运行环境,所以需要安装虚拟环境virtualenv。
    在windows下cmd命令窗口下安装。
    安装命令
    pip install virtualenv
    建立虚拟环境目录,到目录下。这里我的目录(G:\pythonVir)
    cd G:\pythonVir
    然后激活
    virtualenv env
    //等待初始化完成..
    //激活:
    env\Scripts\activate
    激活之后的界面如下图,注意在命令行输入的左侧有(env)标记,这样我们的后续操作都会在env中生效,不会影响整体的pyhton环境。
    这里写图片描述

  3. 安装VS2015

    Superset中依赖的一些库需要使用microsoft visual c++ 2010编译。
    根据说明应该是也可以安装 Visual C++ 2015 Build Tools: http://landinghub.visualstudio.com/visual-cpp-build-tools

  4. 安装sasl

    通过 http://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl 下载对应的版本
    比如咱们安装的python 是3.5版本,系统是64位,就下载sasl-0.2.1-cp35-cp35m-win_amd64.whl。
    pip install D:\Downloads\sasl-0.2.1-cp35-cp35m-win_amd64.whl
    (一定要下载安装对应的版本)

    所有的安装环境软件:因为我装的是python2.7 所以我以下提供的是2.7的环境软件

  5. 开始安装superset

    (在第二部中virtualenv虚拟环境要激活,到虚拟环境G:\pythonVir下)
    pip install superset
    创建管理员帐号fabmanager create-admin –app superset
    初始化数据库 (windows下,先进入到virtualEnv的虚拟目录libs\site-packages\superset\bin下)
    加载例子(后续操作都需要在libs\site-packages\superset\bin下)
    Python superset db upgrade
    Python superset load_examples
    初始化角色和权限
    Python superset init
    启动服务,端口 8088, 使用 -p 更改端口号。
    Python superset runserver -d
    然后使用浏览器,打开localhost:8088即可看到登录页面。
    这里写图片描述

  6. Superset汉化

    (1)进入Superset安装目录(G:\pythonVir\env\Lib\site-packages\superset)我本地目录,执行以下命令,创建相应目录(translations/zh/LC_MESSAGES )。
    (2)下载汉化的mo文件
    官方github:
    https://github.com/apache/incubator-superset/tree/master/superset/translations/zh/LC_MESSAGES
    下载 messages.mo文件放在上面建立的translations/zh/LC_MESSAGES 目录下
    (3)修改位于superset安装目录下的config.py文件(G:\pythonVir\env\Lib\site-packages\superset),并重启Superset ,修改部分如下:
    这里写图片描述
    BABEL_DEFAULT_LOCALE调整为zh,这样界面默认为中文。languages字典中zh前面的注释#去掉。保存后退出。
    (4)关闭浏览器重新打开即可看到汉化效果
    需要注意的是,它并非完全汉化,而是汉化了superset相关的部分。部分文字被写入在flask app的文件中,汉化起来比较麻烦。
    Superset分为多个模块,安全模块是账号管理相关,包括角色列表,视图权限控制,操作日志等。管理模块没什么用,主要是设计元素。
    数据源可以访问和连接数据库,切片是各类数据可视化,均是单图;看板即为Dashboard,是切片的集合,Superset提供了三个初始案例,SQL工具箱是数据查询平台。

  7. 数据源

    Superset默认使用sqllite。支持以下数据库:
    这里写图片描述
    安装好数据库后,创建一个数据库和一张表(这里不再讲述如何安装数据库和数据库的使用)。我在本地安装的是mysql数据库。建表如下:
    这里写图片描述
    (1)先学习连接数据库
    Superset使用了sqlalchemy框架,使用前需要安装数据库驱动程序,先退出runserver,进入superset虚拟环境,安装Python中的MySQL驱动程序。
    pip install pymysql
    MySQL的驱动程序很多,除了pymysql,还有mysqlclient等。安装好后,进入数据源,新建一个database连接。
    在Sources->Databases可以看到我们建立的数据库
    这里写图片描述
    新建立一个数据库连接如下:
    这里写图片描述
    在SQLAlchemy URL中加入数据库的地址,格式为:
    mysql+pymysql://root:XXXXXXXXXX@localhost:3306/salarydemo?charset=utf8
    mysql是数据库类型,pymysql是驱动程序,表示用pymysql连接mysql数据库,+号不能省略,另外,root是数据库登陆账号,XXXXXXXXXX为密码,这个按大家自己设立的来。localhost是数据库地址,因为我的是本地环境,所以localhost即可,也可以是127.0.0.1。3306是端口,一般默认这个。salarydemo是需要连接的数据库,也是我自己设的名字。后面带参数charset=utf8,表示编码,因为表里面有中文。
    在编辑database的时候,Expose in SQL Lab和Allow Run Sync都要勾选上,下面其余的不要勾选,保留这两个就好了。
    其他数据库的连接大同小异,图中绿色的连接是相关教程。
    格式命名好后,点击测试,出现seems ok,表示成功访问。

  8. 数据可视化

    进入SQL Lab->SQL Editor下,设置查询如下:
    这里写图片描述
    在左侧设置为自己的建立的数据库,可以查看数据库中的表和表的字段。
    直接出来了数据库的数据预览。大家的SQL技能应该都很不错,有兴趣可以在这里练习一下,语法和MySQL一致。其他数据库则是其他数据库的语法。
    windows用户可能会出现上面的一些错误。
    像如 “module” object has no attribute ‘SIGALRM’
    这是windows下依赖包不兼容产生的。Python的signal包只作用于linux和mac,在win是不启作用的,所以这一块在win会产生冲突于是报错。
    解决方法就是把相关部分的代码注释掉,这块代码的功能是超时后把query进程杀掉,注释后没大影响。大家记得就好,我测试过了
    这里写图片描述
    选择Visualize,进入切片绘图模式。
    这里写图片描述
    这里自动匹配支持的图表选项,包括Bar Chart条形图,Pir Chart饼图等。下面的选项是定义维度,我们将city,education,postitionName,salary都勾选为维度。agg_func是聚合功能,这里可以求和和求最大值和最小值,点击生成图表。
    这里写图片描述

    左边Datasource & Chart Type下Visualization Type
    可以图表类型,Query下可以调整需要查询的维度。Chart Options可以调整分析需要的维度。Metrics是分析的度量,,Series是条形图中的类别,Breakdowns可以认为是分组或者分桶。下面还可以通过sql查询。这里的各种配置大家可以自行修改,看一下出现的效果,摸索着就会调整了。
    Superset支持的图表很丰富,如果具备开发能力,也能以D3和Flask为基础做二次开发。Airbnb官方也会不断加入新的图表。不同图表,其左侧的操作选项也不同。
    我们选择save保存。完成的图表均存放在切片下。在Dashboards便可以查看自己建立的Dashboards。大家可以继续添加。
    在这里我也也到了一些问题:参考了一下博客,非常感谢!
    Superset的各种疑难解答 https://baijiahao.baidu.com/s?id=1575777475377966&wfr=spider&for=pchttp://www.360doc.com/content/17/0813/16/31971685_678894524.shtml

赞(0)
未经允许不得转载:老徐小屋老徐小屋 » windows下Superset开发环境的搭建
分享到: 更多 (0)