• 大数据高级开发工程师——大数据相关工具之四 Superset


    大数据相关工具

    Superset简介

    • Superset 是一款由 Airbnb 开源的“现代化的企业级 BI(商业智能) Web 应用程序”,其通过创建和分享 dashboard,为数据分析提供了轻量级的数据查询和可视化方案。
    • Superset 的前端主要用到了 ReactNVD3/D3,而后端则基于 Python 的 Flask 框架和 PandasSQLAlchemy 等依赖库,主要提供了这几方面的功能:
      • 集成数据查询功能,支持多种数据库,包括 MySQL、PostgresSQL、Oracle、SQL Server、SQLite、SparkSQL 等,并深度支持 Druid
      • 通过 NVD3/D3 预定义了多种可视化图表,满足大部分的数据展示功能。如果还有其他需求,也可以自开发更多的图表类型,或者嵌入其他的 JavaScript 图表库(如 HighCharts、ECharts)。
      • 提供细粒度安全模型,可以在功能层面和数据层面进行访问控制。支持多种鉴权方式(如数据库、OpenID、LDAP、OAuth、REMOTE_USER 等)。

    SuperSet基于Linux安装

    • 参考官网:https://superset.apache.org/docs/installation/installing-superset-from-scratch
    • 安装 SuperSet 之前安装基础依赖:
    yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
    
    • 1
    • 官方强烈建议将 superset 安装到一个虚拟环境 virtualenv
    pip3 install virtualenv
    # 创建并激活虚拟环境
    python3 -m venv venv
    . venv/bin/activate
    # deactivate 退出虚拟环境
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 安装并初始化 superset
    (venv) [root@centos130 tools]# pip3 install apache-superset
    # 初始化DB
    superset db upgrade
    
    # 可能会出现报错:`ImportError: cannot import name '_ColumnEntity'`
    #执行:
    pip install sqlalchemy==1.3.24
    pip install dataclasses
    
    # 在元数据数据库中创建管理员用户 (use `admin` as username to be able to load the examples)
    $ export FLASK_APP=superset
    superset fab create-admin
    Username [admin]: 
    User first name [admin]: 
    User last name [user]: 
    Email [admin@fab.org]: 
    Password: 123456
    Repeat for confirmation: 123456
    Recognized Database Authentications.
    Admin User admin created.
    
    # 加载样例数据
    superset load_examples
    
    # 创建默认角色和权限
    superset init
    
    # 启动superset,注意:-p 8088来指定端口启动服务,-h 0.0.0.0是避免只能本地访问superset服务。
    superset run -h 0.0.0.0 -p 8088 --with-threads --reload --debugger
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 浏览器访问:http://192.168.254.130:8088/,输入账号密码完成登录

    在这里插入图片描述

    SuperSet使用

    配置MySQL数据源

    • 参考官方文档:https://superset.apache.org/docs/databases/installing-database-drivers,在 venv 环境中安装 MySQL 驱动
    pip3 install mysqlclient
    
    • 1

    在这里插入图片描述

    • 添加数据源
      在这里插入图片描述
      在这里插入图片描述
    • 记录添加成功:

    在这里插入图片描述

    添加MySQL数据库表并编辑

    • 添加数据集:点击 Data => Datasets,选择右上角加号,增加数据集。

    在这里插入图片描述

    在这里插入图片描述

    • 编辑表:点击创建好的 song 表,点击编辑,可以对列进行修改

    在这里插入图片描述

    • 在编辑中,选择“列”标签下的编辑,可以对列信息进行修改

    在这里插入图片描述

    在这里插入图片描述

    • 选择“指标”标签下的编辑,可以对统计的“指标”进行修改

    在这里插入图片描述

    绘制图表

    • 点击右上角 New,选择图表,进行“创建新图表”。
    • 选择数据源、可视化类型。

    在这里插入图片描述

    • 创建新图表,在弹出的页面中准备表显示的指标

    在这里插入图片描述

    • 新建 Dashboard:

    在这里插入图片描述

    • 保存图表结果到面板中,方便之后查询:

    在这里插入图片描述

    • 在 Dashboard 查看图标结果:

    在这里插入图片描述

    绘制柱状图

    • 点击数据集 Datasets,再点击需要制作图表的表名称,在面板“图表类型”中,选择柱状图:
      在这里插入图片描述

    在这里插入图片描述

    • 在图表配置页面进行编辑:
      在这里插入图片描述
    • 保存并查看 Dashboard 中的图表数据:
      在这里插入图片描述

    绘制折线图

    • 新建数据集 machine_local_info

    在这里插入图片描述

    • machine_local_info 中的 sale_time 销售时间格式为20201231格式,可以通过编辑列,对数据进行表达式转换,当做时间列,后期在superset中方便展示与时间相关的图表。
    • 点击“编辑”,对“machine_local_time”数据“sale_time”列进行编辑

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    • 最后点击保存修改,点击表“machine_local_info”进行制作折线图

    在这里插入图片描述

    • 新建一个Dashboard,命名为“我的数据看板”,并保存制作的折线图图表

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    y49.第三章 Kubernetes从入门到精通 -- k8s实战案例(二二)
    分布式缓冲-插槽与集群伸缩
    windows、Mac如何安装vue开发环境?
    一道小学一年级数学题,国产大模型全军覆没
    新手小白学JAVA IO流 File 字节流 字符流
    嵌入式基础准备 | Linux命令(包括 文件、目录和压缩、系统操作、vi、vim、ctags、cscope)
    亲测可用的RT1052+FreeRTOS10.3移植CmBacktrace方法——2022.11.12
    HTTP 及三次握手,四次挥手
    持久层框架之Mybatis
    iOS 列表页面实时刷新解决方案
  • 原文地址:https://blog.csdn.net/yangwei234/article/details/125400786