素材巴巴 > 程序开发 >

[4477] 03 技术框架:数据可视化分析的两种武器

程序开发 2023-09-15 07:08:33

上一节,我介绍了数据可视化分析方法,带你了解了数据可视化分析的建设目标、工作方法和工作流程。本节内容,我们来学习数据可视化分析两类主要技术:工具平台和开发框架。

数据可视化技术完整的知识结构如下图所示:

Drawing 1.png

本节知识结构图

本节课,我将介绍主流的数据可视化分析工具、数据可视化开源框架分别有哪些,让大家对数据可视化技术资源有一个全局的认知。同时,我会重点介绍一款开源的数据可视化分析工具:Redash,包括:Redash 的官方网站、源码资源、安装部署和功能模块。

工具平台

数据可视化分析有很多现成的、可以直接使用的工具平台,这些工具平台包括开源版本和商业版本,常用的开源数据可视化分析工具平台包括:Redash、Metabase 和 Superset,常用的数据可视化分析工具平台包括:PowerBI、Tableau、QuickBI、Sugar 和网易有数等。这些工具平台提供的功能通常包括:数据源管理、即席查询、数据可视化和仪表盘等核心功能。

我将以开源框架 Redash 作为分析对象,介绍数据可视化分析平台提供的业务能力。

运行演示

在介绍 Redash 相关的功能之前,我们首先来看一下 Redash 运行之后的样子。

Redash 提供的核心功能有 4 个:

数据源管理,是 SQL 即席查询、数据可视化和数据仪表盘设计等功能的前置条件,使用 Redash 的第一步。我们首先来看,数据源管理的功能界面:

Drawing 2.png

数据源管理

创建数据源之后,就可以基于配置好的数据源,进行 SQL 即席查询。Redash 的 SQL 查询功能操作界面如下图所示:

Drawing 3.png

SQL 即席查询

Redash 支持对 SQL 查询结果进行可视化展现,通过可视化图表的方式,呈现数据特征,如下图所示:

Drawing 4.png

数据可视化

Redash 生成的图表,可以组织到一个称为仪表盘的页面,核心指标、相关的图表都可以通过该页面呈现,起到相关内容聚合的作用。

Drawing 5.png

数据仪表盘

以上内容介绍了数据可视化分析工具 Redash 核心功能的运行演示界面,其目的是让大家对于 Redash 的核心功能有一个初步的了解。接下来,我将带你了解 Redash。

官方网站

Redash 是一个开源项目,它有一个自己官方网站,地址为:https://redash.io/,其中会有一些开放源码。官网提供的主要内容是相关的用户手册和学习环境。

Drawing 6.png

Redash 官方网站

Redash 官方提供了一个免费的 Redash 学习环境,可以通过注册账号,获得试用,具体的注册方法和需要完善的信息如下图所示:

Drawing 7.png

注册 Redash 账号

注册完成以后,你可以获得一个免费的 Redash 的学习环境。注册登录后的界面如下图所示:

Drawing 8.png

Redash 学习环境

通过 Redash 官方提供的学习环境,我们可以拥有一个真实的,可以直接体验 Redash 功能的工作空间。同时结合用户使用教程,我们可以快速掌握 Redash 的核心功能。具体的用户帮助手册链接地址为:https://redash.io/help/user-guide/getting-started。

该页面提供了 Redash 核心功能的使用说明,包括:快速入门、数据源管理、数据查询、数据可视化、仪表盘设计、权限管理和接口管理等模块,具体的帮助功能入口页面如下图所示:

Drawing 9.png

用户帮助页面

到这里,我们就获得了 Redash 的学习环境和相关的用户使用手册信息。接下来我将继续介绍,如何安装和部署 Redash 的开发环境。

源码资源

Redash 是一个开源的、免费的数据可视化分析的工具,介绍 Redash 的安装部署之前,我们首先来看一下 Redash 的源码资源,其中包括 2 个项目:

  1. Redash 的程序源码,地址为https://github.com/getredash;

  2. Redash 的安装脚本,地址为https://github.com/getredash/setup。

Redash 的程序源码,包括前端程序和后端相应程序,源码的目录结构如下图所示:

Drawing 10.png

Redash 源码结构

Redash 的源码支持多种安装方式,其中最为便捷的方式是基于 Docker 的模式。同时,Redash 的作者提供了一个完整的安装脚本,我们可以使用这个脚本进行全自动化的安装。该脚本主要支持的是Ubuntu 18.0.4 版本,AWS、GCE 等平台的安装,可以参照用户手册进行。Redash 安装脚本项目内容结构如下图所示:

Drawing 11.png

Redash 安装脚本源码结构

通过脚本,我们可以实现基于 Docker 模式下的,Redash 环境的自动安装。

以上,我介绍了 Redash 的源码资源和安装脚本的基本情况。如果你想要了解如何基于 Redash 构建开发环境,并进行二次开发,定制自己的数据可视化分析平台,欢迎在评论区中留言。

接下来,我再介绍一下 Redash 的安装方法。

安装步骤

Redash 的安装部署,最简单的方式是通过脚本安装。

我们的实验环境,是一个干净的 Ubuntu18.0.4 环境,具体的安装步骤包括三步:

  1. 下载脚本项目;

  2. 执行安装脚本;

  3. 结果验证。

安装脚本项目就是前面我们在源码资源中所介绍的开源项目,可以通过指令:git clonehttps://github.com/getredash/setup.git,下载到本地,然后进入项目根目录,并对 setup.sh 脚本文件,赋予程序执行权限:cd setup chmod +x setup.sh。接下来通过调用:sudo ./setup.sh 执行安装脚本。

项目的安装过程中,会默认完成三件事情:安装 docker、下载 redash 映像文件,配置和启动。安装过程的执行界面如下图所示:

Drawing 12.png

Redash 安装脚本执行

项目安装完成以后,无须任何额外操作,即可以通过浏览器访问,默认端口 5000,默认访问页面为账号注册页面。具体的访问界面截图如下所示:

Drawing 13.png

Redash 运行界面

关于 Redash 的安装部署,需要特别强调的是,基于脚本的安装方式,因为运行时间较长,期间会因为网络原因导致下载失败,所以需要进行多次重复执行。

功能详述

Redash 提供的核心功能包括:数据源管理、SQL 查询、数据可视化和数据仪表盘这 4 个部分,其功能结构如下:

Drawing 15.png

Redash 核心功能

数据源管理提供主流数据源的连接和配置。Redash 支持当前主流的关系型数据库、非关系型数据和文档数据,具有独立的数据源管理功能,可以实现自定义数据源的连接和使用。

Redash 支持的数据源清单,可以在帮助文档中查看,详细的地址为:https://redash.io/help/data-sources/querying/supported-data-sources。完整的数据源类型清单如下表所示:

数据源云托管自管Amazon Athena✓✓Amazon DynamoDB✓✓Amazon Redshift✓✓Axibase Time Series Database✓✓Cassandra✓✓ClickHouse✓✓CockroachDB✓✓CSV✓Databricks✓✓DB2 by I✓✓Druid✓✓Elasticsearch✓✓Google Analytics✓✓Google BigQuery✓✓Google Spreadsheets✓✓Graphite✓✓Greenplum✓Hive✓✓Impala✓✓InfluxDB✓✓JIRA✓✓JSON✓✓Apache Kylin✓✓OmniSciDB (Formerly MapD)✓MemSQL✓✓Microsoft Azure Data Warehouse / Synapse✓✓Microsoft Azure SQL Database✓✓Microsoft SQL Server✓✓MongoDB✓✓MySQL✓✓Oracle✓✓PostgreSQL✓✓Presto✓✓Prometheus✓✓Python✓Qubole✓✓Rockset✓✓Salesforce✓✓ScyllaDB✓✓Shell Scripts✓Snowflake✓✓SQLite✓TreasureData✓✓Vertica✓✓Yandex AppMetrrica✓✓Yandex Metrica✓✓

Redash 对我们日常数据可视化分析工作中,常用的数据源都提供了连接支持能力,包括:MySQL、Oracle、Hive、Spark、Presto 等。

建立完数据连接之后,我们就可以进行数据 SQL 查询了。Redash 支持主流数据源,也集成了多种数据源的 SQL 标准和规范,你可以按照相关数据源的语法规范,书写 SQL 语句。同时,Redash SQL 查询功能提供了语法高亮、自动格式化、变量支持、历史纪录保存、自动补全等功能。SQL 查询的输出结果,默认以表格形式输出,并支持翻页功能。

SQL 查询输出的数据结果,除了支持以表格的形式输出之外,也支持数据可视化,我们可以通过图表可视化配置功能,进行结果数据的可视化呈现设计,查询结果数据可视化的配置界面如下图所示:

Drawing 16.png

图表设置

上图中,左侧部分是图表属性设置参数,右侧部分是实时的数据预览功能。通过图表可视化,我们可以直观地发现数据所具有的特征。一个数据查询结果,可以通过多个图表进行可视化呈现,设计出的可视化图表,也可以保存下来,并且发布出去,以供后续环节使用。

发布后的数据图表,可以作为数据仪表盘的一部分,整合到一个页面进行呈现,即数据仪表盘。数据仪表盘是业务主题相关的数据图表的集中呈现,通常情况下,我们把同一业务主题的可视化图表,整合到同一个页面进行呈现。数据仪表盘支持创建、保存和发布,发布后的数据仪表盘,可以在多个用户之间共享。

开源框架

数据可视化分析有很多现成的、可以直接复用的开源技术框架,其中常用的前端 JavaScript 图表可视化框架有 Echarts、HightCharts、D3.js;Python 数据处理开源框架有 Numpy、Pandas、Matplot;Python 机器学习框架有 Sklearn、TensorFlow、PyTorch。

通过这些框架,我们可以实现类似 Redash 提供的数据可视化呈现能力,而事实上,Redash 的实现就是基于这些技术进行的。

关于如何基于这些开源框架,构建数据可视化图表,我将在“模块二:环境部署篇”“模块三:实战案例篇”进行逐个图表的,逐项功能的详细介绍,在此不做赘述。

小结

本节内容,介绍了主流的数据可视化分析技术,包括工具平台和开源框架,并且详细介绍了开源的数据可视化分析工具 Redash 的官方资源、安装部署和功能模块。

在学习这节课之前,你可能会疑惑:通过本课程的学习,是否可以掌握数据仪表盘的设计?但在学完之后,相信你已经掌握了基于数据可视化工具平台 Redash 设计仪表盘的思路和方法。如何基于开源框架,自己动手构建数据仪表盘的内容,我会在课程的后续部分进行介绍。


精选评论

**珍:

老师,请问安装redash一定要在Ubuntu18.04的环境下么?如果安装在20.04是否可以?

    讲师回复:

    当前最新版版本支持的是18.04,更新版本没有实测,可以自己参照当前方法尝试一下

**宗:

Redash展现的图表可以随着数据的变化而变化吗?

    编辑回复:

    Redash的仪表盘支持定时刷新机制,可以满足这个需求。老师在05课时的题外里附加了图片哦等课程更新就可以更直观地看到了

**军:

Redash 是否可以满足在你工作中的80%或者更多的数据可视化需求?若不能完全满足如何解决的

    讲师回复:

    数据可视化分析三大开源软件:redash、superset、metabase,其实都是很不错的。我曾经通读过redash源码,基于redash进行二次开发也是可以的。Redash的核心价值在于SQL查询和报表设计,如果不考虑交互体验,其核心功能满足80%的需求,是没问题的。不过考虑到国人的阅读习惯,则需要打个折扣,建议从redash进行二次开发。

**军:

要是基于redash或者superset二次开发需要什么基础的技能?

    讲师回复:

    redash的技术架构设计前端和后台两部分,前端用的react + angular,后台用的Python + Celery ;Superset后端是python,前端忘记了。

*迪:

Ubuntu 18.04 虚拟机,执行 sudo ./setup.sh 后,执行很久,最后返回拒绝连接,是为什么呀?

    讲师回复:

    这个应该也是网络原因。

**6342:

redash跟grafana在功能上是否有什么相似的地方?是竞争关系吗?grafana也是做数据展示用的呢

    讲师回复:

    grafana不了解,redash相类似得,可以参考metabase和superset。

*迪:

老师,请问下。我按照文章,没把 redash 安装成功。docker是安装了,最后报这个错,–2020-09-04 09:09:44-- https://raw.githubusercontent.com/getredash/setup/master/data/docker-compose.ymlResolving raw.githubusercontent.com (raw.githubusercontent.com)… ::Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|:😐:443… failed: Connection refused.这是为什么呢?而且,这个路径,本身就打不开。为什么会去这个路径找yml 文件呢?

    讲师回复:

    实测是网络问题,我是早上四点多,折腾成功的,过程中反复出现各种问题,遇到过这个。如果实在不行,就只能分步骤安装了,这个你可以把自动化安装的脚本拆开,逐步操作,比较考验动手能力。

**琴:

老师,可以在Windows系统下安装redash吗?或者说Windows系统下有什么可视化工具吗?

    讲师回复:

    windows安装是可以的,Redash7.0 实际部署成功过,不过用的python2.7,相对比较复杂。Celery4.x以后的版本不支持在windows上运行,需要特殊处理。GitHub上直接下载的源码,如果使用python3.x版本调试,需要修正大量的代码,这就比较考验个人的代码调试和错误处理能力了。

**珍:

redash过了30天试用期之后,是否要付费才能继续使用?

    讲师回复:

    社区版本是免费的的,可以一直用,官方没有商业版,目前有国内的人弄了一个中文版收费,可以忽略。

**明:

Windows系统不能用吗?

    讲师回复:

    windows安装是可以的,Redash7.0 实际部署成功过,不过用的python2.7,相对比较复杂。Celery4.x以后的版本不支持在windows上运行,需要特殊处理。

jyunnkoLee:

redash等框架能处理的数据量大概是什么级别的?

    讲师回复:

    Redash只是一个前端SQL执行和结果可视化工具,能处理的数据量级别取决于其对应的后端数据服务器(比如MySQL,比如Spark等)和数据的聚合程度,后端数据服务器的能力和数据聚合程序,决定了Redash的数据处理能力。


标签:

上一篇: IntelliJ平台2020年路线图正式发布 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。