• 【原创】Superset在windows下的安装配置


    Superset是由Airbnb(知名在线房屋短租公司)开源BI数据分析与可视化平台(曾用名Caravel、Panoramix),该工具主要特点是可自助分析、自定义仪表盘、分析结果可视化(导出)、用户/角色权限控制,还集成了一个SQL编辑器,可以进行SQL编辑查询等,原来是用于支持Druid的可视化分析,后面发展为支持很多种关系数据库及大数据计算框架,如:mysql, oracle, Postgres,Presto,sqlite, Redshift,Impala, SparkSQL, Greenplum, MSSQL. 

    Superset官网地址为:

    http://superset.apache.org/index.html

    官网说明对Windows系统当前没有官方支持,不过实际上是可以安装成功的。

    笔者安装环境为windows 10 64位企业版。

    安装步骤:

    1. 安装Python。 建议安装Python 3.4 以上版本。Python 2.7 版本在windows 上存在各种编码问题。

      https://www.python.org/downloads/release/python-350/

      下载Windows x86-64 executable installer 。直接使用exe的安装包即可,安装过程中选中增加到环境变量。

      检查:CMD下 分别运行python -V  和 pip-V。如果找不到命令,则需要添加python的安装目录到path环境变量下。

    2. 安装 virtualenv。(此步骤可选,直接安装的话跳到第四步。因为Superset需要安装的组件较多,最好是使用virtualenv独立一套python环境。)   

      在开发Python应用程序的时候,系统安装的Python3只有一个版本。所有第三方的包都会被pip安装到Python3的site-packages目录下。

      如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?

      这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。  

      安装命令:

    pip install virtualenv

    3.使用virtualenv。

      先在D盘建立d:pythonmyproject 目录。

    d:
    md python
    cd python
    md myproject
    cd myproject

      然后激活

    cd d:pythonmyproject
    
    virtualenv env
    //等待初始化完成...
    
    //激活:
    envScriptsactivate

      激活之后的界面如下图,注意在命令行输入的左侧有(env)标记,这样我们的后续操作都会在env中生效,不会影响整体的pyhton环境。

    4.安装VS2015。

      Superset中依赖的一些库需要使用microsoft visual c++ 2010编译。

      根据说明应该是也可以安装 Visual C++ 2015 Build Tools:  http://landinghub.visualstudio.com/visual-cpp-build-tools

    5. 安装sasl。

      这里是个大坑, 我之前直接安装superset一直安装不成功,报错(sasl.h 找不到)。

      解决办法是:通过 http://www.lfd.uci.edu/~gohlke/pythonlibs/#sasl 下载对应的版本

      比如咱们安装的python 是3.5版本,系统是64位,就下载sasl-0.2.1-cp35-cp35m-win_amd64.whl。
      

    pip install D:Downloadssasl-0.2.1-cp35-cp35m-win_amd64.whl 

    6. 前置项安装完毕,开始安装superset。

      

    pip install superset
    # 创建管理员帐号
    
    fabmanager create-admin --app superset
    # 初始化数据库 (windows下,先进入到 Python安装目录(或者virtualEnv的虚拟目录)下,libssite-packagessupersetin下)
    
    Python  superset db upgrade
    # 加载例子(后续操作都需要在libssite-packagessupersetin下)
    
    Python superset load_examples
    
    # 初始化角色和权限
    
    Python superset init
    
    # 启动服务,端口 8088, 使用 -p 更改端口号。
    
    Python superset runserver -d

    然后使用浏览器,打开localhost:8088即可看到登录页面。

    7. Superset汉化

      (1)进入Superset安装目录,执行以下命令,创建相应目录(translations/zh/LC_MESSAGES ):

        

    md  translations
    cd translations
    md zh
    cd zh
    md LC_MESSAGES

      (2)下载汉化的mo文件
      官方github:
        https://github.com/apache/incubator-superset/tree/master/superset/translations/zh/LC_MESSAGES
      下载 messages.mo文件放在上面建立的目录下
      也可以下载messages.po文件,自己手动去汉化,再将po文件编译为mo文件,编译方式,执行命令:
        

    msgfmt messages.po -o messages.mo

      (3)修改config.py文件,并重启Superset ,修改部分如下:

      

    # Setup default language 
    BABEL_DEFAULT_LOCALE = 'zh' 
    # Your application default translation path 
    BABEL_DEFAULT_FOLDER = 'babel/translations' 
    # The allowed translation for you app 
    LANGUAGES = { 
    #'en': {'flag': 'us', 'name': 'English'}, 
    # 'fr': {'flag': 'fr', 'name': 'French'}, 
    'zh': {'flag': 'cn', 'name': 'Chinese'} 
    }

      (4)关闭浏览器重新打开即可看到汉化效果

    8.  数据源。

      Superset默认使用sqllite。支持以下数据库:

    databasepypi packageSQLAlchemy URI prefix
    MySQL pip install mysqlclient mysql://
    Postgres pip install psycopg2 postgresql+psycopg2://
    Presto pip install pyhive presto://
    Oracle pip install cx_Oracle oracle://
    sqlite   sqlite://
    Redshift pip install sqlalchemy-redshift postgresql+psycopg2://
    MSSQL pip install pymssql mssql://
    Impala pip install impyla impala://
    SparkSQL pip install pyhive jdbc+hive://
    Greenplum pip install psycopg2 postgresql+psycopg2://
    Athena pip install "PyAthenaJDBC>1.0.9" awsathena+jdbc://
    Vertica pip install sqlalchemy-vertica-python vertica+vertica_python://
    ClickHouse pip install sqlalchemy-clickhouse clickhouse://

      使用pip安装好数据库后,就可以在Web界面中,配置相关数据源了。

      数据库的连接字符串格式参见:

      http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html#database-urls

    好了,最后贴一张我测试SqlServer的示例图。 使用的是 SuperKM 的测试知识分类数据。

    另外,superset目前只支持单表的显示。

  • 相关阅读:
    【SignalR学习系列】6. SignalR Hubs Api 详解(C# Server 端)
    【SignalR学习系列】5. SignalR WPF程序
    小程序商城Mall,打造最佳SpringCloudAlibaba最佳实践
    《SpringCloudDubbo开发日记》(一)Nacos连官方文档都没写好
    Java后端开发工程师是否该转大数据开发?
    动态生成简约MVC请求接口|抛弃一切注解减少重复劳动吧
    主键生成器效率提升方案|基于雪花算法和Redis控制进程隔离
    高并发场景-请求合并(二)揭秘HystrixCollapser-利用Queue和线程池异步实现
    使用TiDB把自己写分库分表方案推翻了
    JMETER并发压测-自定义不同请求参数
  • 原文地址:https://www.cnblogs.com/calmzeal/p/7359144.html
Copyright © 2020-2023  润新知