Superset:强大的大数据可视化开源工具的docker搭建 - 轻量级BI工具

  1. 1. 拉取项目
  2. 2. 配置数据库
  3. 3. 启动容器
  4. 4. 初始化容器
  5. 5. 前端访问
  • 参考
  • Superset 是一款由 Airbnb 开源的“现代化的企业级 BI(商业智能) Web 应用程序”,其通过创建和分享 dashboard,为数据分析提供了轻量级的数据查询和可视化方案。
    Superset 的前端主要用到了 React 和 NVD3/D3,而后端则基于 Python 的 Flask 框架和 Pandas、SQLAlchemy 等依赖库,主要提供了这几方面的功能:

    1. 集成数据查询功能,支持多种数据库,包括 MySQL、PostgresSQL、Oracle、SQL Server、SQLite、SparkSQL 等,并深度支持 Druid。
    2. 通过 NVD3/D3 预定义了多种可视化图表,满足大部分的数据展示功能。如果还有其他需求,也可以自开发更多的图表类型,或者嵌入其他的 JavaScript 图表库(如 HighCharts、ECharts)。
    3. 提供细粒度安全模型,可以在功能层面和数据层面进行访问控制。支持多种鉴权方式(如数据库、OpenID、LDAP、OAuth、REMOTE_USER 等)。

    下面操作均在ubuntu18下完成。

    1. 拉取项目

    // 创建目录用于存放项目
    mkdir -p /root/superset
    cd /root/superset
    git clone https://github.com/amancevice/superset.git

    2. 配置数据库

    进入项目目录

    cd /root/superset/superset

    新建superset_config.py文件, 修改相应的配置信息

    ROW_LIMIT = 5000
    
    SUPERSET_WEBSERVER_PORT = 8088
    
    SECRET_KEY = 'set_your_own_key'
    
    SQLALCHEMY_DATABASE_URI = 'mysql://user:[email protected]:port/db'
    
    
    # Flask-WTF flag for CSRF
    WTF_CSRF_ENABLED = True
    # Add endpoints that need to be exempt from CSRF protection
    WTF_CSRF_EXEMPT_LIST = []
    # A CSRF token that expires in 1 year
    WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365
    
    # Set this API key to enable Mapbox visualizations
    MAPBOX_API_KEY = ''

    3. 启动容器

    docker run -d --name superset_name --env SECRET_KEY="set_your_own_key" --env SQLALCHEMY_DATABASE_URI="mysql://user:[email protected]:port/db" -p 8088:8088 -v /root/superset/superset/superset_config.py amancevice/superset

    注意:

    • -v 挂载配置文件必须挂载到容器的/root/superset/superset/superset_config.py或者自定义目录
    • SECRET_KEY必须与superset_config.py的设置一致
    • 填写你自己数据库连接信息

    4. 初始化容器

    //进入superset-init文件目录
    cd /mnt/superset/superset/superset
    //初始化
    docker exec -it superset_name superset-init
    //输入你设置登录superset前端的admin相关信息
    Username [admin]: admin
    User first name [admin]: bing
    User last name [user]: bing
    password: mypassword
    repeat passwd: mypassword
    //输入完毕开始初始化,等待完成即可

    5. 前端访问

    http://ip:8088/

    参考


    转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至 [email protected]