大数据可视化技术面临的挑战及应对措施

article/2025/10/6 11:50:21


来源:科技导报

本文约5400字,建议阅读10分钟

本文介绍了适用于大数据的数据可视化技术,讨论了针对大数据可视化应用需求自主研发的交互式可视化设计平台AutoVis及其应用。


[ 导读 ]本文从大数据本身的特点及其应用需求出发,结合数据可视化的研究现状,介绍了适用于大数据的数据可视化技术;分析在大数据条件下数据可视化所要解决的8个关键问题;讨论了针对大数据可视化应用需求自主研发的交互式可视化设计平台AutoVis及其应用。

图灵奖获得者JimGray曾说,数据密集型科学发现是继实验归纳、逻辑推演、仿真模拟之后的第4类科学方法,作为前3种科学范式的补充,这种方法进一步促进人类科技的进步。

数据推动着诸多科学领域与各行各业发展的同时,也带来了前所未有的挑战。有效地理解数据,避免“big data”成为“big rubbish”,需要开发更好的工具以支持整个研究过程,包括数据捕捉、数据治理、数据分析以及数据可视化。

在大数据时代,数据可视化技术在广泛应用的同时,也面临诸多新的挑战。大数据可视化是一个面向应用的研究领域,本文重点从应用实践的角度,讨论在大数据背景下大数据可视化内涵、研究进展、相关技术与产品以及所面临的一系列挑战。

大数据可视化内涵

数据可视化就是将抽象的“数据”以可见的形式表现出来,帮助人理解数据。大数据可视化相对传统的数据可视化,处理的数据对象有了本质不同,在已有的小规模或适度规模的结构化数据基础上,大数据可视化需要有效处理大规模、多类型、快速更新类型的数据。这给数据可视化研究与应用带来一系列新的挑战。

数据可视化这一概念自1987年正式提出,经过30余年的发展,逐渐形成3个分支:科学计算可视化(scientific visualization)、信息可视化(information visualization)和可视分析(visual analytics)。近些年来,这3 个子领域出现了逐渐融合的趋势。本文统称为“数据可视化”。

在传统数据可视化基础上,论文尝试给出大数据可视化的内涵:大数据可视化是指有效处理大规模、多类型和快速变化数据的图形化交互式探索与显示技术。

其中,有效是指在合理时间和空间开销范围内;大规模、多类型和快速变化是所处理数据的主要特点;图形化交互式探索是指支持通过图形化的手段交互式分析数据;显示技术是指对数据的直观展示。

大数据可视化技术

首先从方法层面介绍基本满足常用数据可视化需求的通用技术,根据可视化目标分类介绍,然后根据大数据的特点,重点介绍相关的大规模数据可视化、时序数据可视化、面向可视化的数据采样方法和数据可视化生成技术。

常用的数据可视化技术

数据可视化技术在应用过程中,多数非技术驱动,而是目标驱动。如图显示了目前业界广泛使用的根据目标分类的数据可视化方法,数据可视化目标抽象为对比、分布、组成以及关系。

按目标分类的常用数据可视化方法

1)对比。比较不同元素之间或不同时刻之间的值。

2)分布。查看数据分布特征,是数据可视化最为常用的场景之一。

3)组成。查看数据静态或动态组成。

4)关系。查看变量之间的相关性,这常常用于结合统计学相关性分析方法,通过视觉结合使用者专业知识与场景需求判断多个因素之间的影响关系。

 

大规模数据可视化

大规模数据可视化一般认为是处理数据规模达到TB或PB级别的数据。经过数十年的发展,大规模数据可视化经过了大量研究,重点介绍其中的并行可视化原位(in situ)可视化。

(1)并行可视化

并行可视化通常包括3种并行处理模式,分别是任务并行、流水线并行、数据并行。

  • 任务并行将可视化过程分为独立的子任务,同时运行的子任务之间不存在数据依赖。

  • 流水线并行采用流式读取数据片段,将可视化过程分为多个阶段,计算机并行执行各个阶段加速处理过程。

  • 数据并行是一种“单程序多数据”方式,将数据划分为多个子集,然后以子集为粒度并行执行程序处理不同的数据子集。

(2)原位可视化

数值模拟过程中生成可视化,用于缓解大规模数值模拟输出瓶颈。根据输出不同,原位可视化分为图像、分布、压缩与特征。

  • 输出为图像的原位可视化,在数值模拟过程中,将数据映射为可视化,并保存为图像。

  • 输出为分布数据的原位可视化,根据使用者定义的统计指标,在数值模拟过程中计算统计指标并保存,后续进行统计数据可视化;

  • 输出为压缩数据的原位可视化采用压缩算法降低数值模拟数据输出规模,将压缩数据作为后续可视化处理的输入;

  • 输出为特征的原位可视化采用特征提取方法,在数值模拟过程中提取特征并保存,将特征数据作为后续可视化处理的输入。

 

时序数据可视化

时序数据可视化是帮助人类通过数据的视角观察过去,预测未来,例如建立预测模型,进行预测性分析和用户行为分析。

面积图可显示某时间段内量化数值的变化和发展,最常用来显示趋势。气泡图可以将其中一条轴的变量设置为时间,或者把数据变量随时间的变化制成动画来显示。蜡烛图通常用作交易工具。

甘特图通常用作项目管理的组织工具,热图通过色彩变化来显示数据,直方图适合用来显示在连续间隔或特定时间段内的数据分布。

折线图用于在连续间隔或时间跨度上显示定量数值,最常用来显示趋势和关系。南丁格尔玫瑰图绘制于极坐标系之上,适用于周期性时序数据。OHLC图通常用作交易工具。

螺旋图沿阿基米德螺旋线绘制基于时间的数据。堆叠式面积图的原理与简单面积图相同,但它能同时显示多个数据系列。量化波形图可显示不同类别的数据随着时间的变化。

另外,具有空间位置信息的时序数据,常常将上述可视化方法地图结合,例如轨迹图。

 

面向可视化的数据采样方法

面向可视化的时序数据采样,主要针对时序数据的折线图视觉效果进行优化。此类研究的主要目标为,从时序数据中选择小部分时序数据,利用折线图上的点与连线的视觉效果,使得选取数据的折线图视觉效果与原始数据的可视化结果尽可能接近。

Steinarsson总结了一些基于折线图的时序数据采样算法,认为折线图中的每个数据点都存在各自的视觉权重。Kehagias提出了M4aggregation时序数据采样算法。Guo等总结了4种针对空间数据的可视化约束:代表性约束、可视性约束、平移一致性与缩放一致性,并基于可视化约束提出了贪心策略采样算法。

 

数据可视化生成方式

经过数十年的发展,数据可视化形成了从底层编程到上层交互式定制的多层次生成方式。

数据可视化生产方式

编程方式根据语言类型可以分为函数式编程与声明式编程。函数式编程可以根据图表元素封装层级分为更基础的图形编程接口,声明式编程出现时间相对较晚,其中采用图形语法思想的可视化语法。

交互式数据可视化生成方式通过交互接口,使得用户不用编程即可定制可视化图表。其中,Polaris与Tableau采用数据列拖选方式交互生成可视化图表;Voyager和Data2Vis则提供了根据数据自动生成可视化图表的能力;Lyra和Data Illustrator则提供了一种类似于Visio的交互方式,从图表元素拼装图表的能力。VisFlow在提供多个可视化模板的基础上采用数据流的思想,将可视化图表作为数据处理流的中间步骤,通过可视化的方式进行数据处理。

整体而言,编程方式的优点在于丰富的表现能力与个性化定制能力,缺点是缺乏直观性,要求使用者具有编程能力,且相对需要更多的人力与时间成本;相对而言,交互方式的优点在于直观,用户无需编程即可定制图表,使用更为广泛,缺点是表达能力有限,系统功能和性能常常无法满足使用者个性化需求。

大数据可视化产品

本节重点介绍介绍相关的大数据可视化产品,包括适用于一定大数据场景的传统数据可视化产品及面向大数据的数据可视化产品。

 

传统数据可视化产品

PowerBI作为微软推出的数据可视化产品,在2019年的GartnerBI象限中排名首位。优点在于易用性,交互方式类似于Excel;缺点在于性能相对较弱,缺少数据准备于清洗工具。

Tableau基于关系型代数理论研发,是目前使用最为广泛的数据可视化产品之一。优点在于基于拖放的交互方式,丰富的功能以及支持Hadoop和Google BigQuery等大数据平台;缺点是仅支持结构化数据,大数据实时响应较慢,权限约束有限。

QlikView为新兴的数据可视化产品,使用越来越广泛。优点在于数据关联查询与钻取能力,图表绘制快速;缺点在于易用性不足,作为内存型的数据可视化产品,数据处理速度依赖于内存大小,对硬件要求较高。

 

面向大数据的可视化产品

大数据背景下产生的数据可视化产品如下。

Apache Superset是基于Flask-Appbuilder构建的开源数据可视化系统,B/S架构,集成了地图、折线图、饼图等可视化方法,提供了一种方便的看板定制方法。优点是系统可扩展性与权限控制机制;缺点是系统稳定性和大数据处理能力不足。

Apache Zeppelin是面向大数据的交互式数据分析与协作记事本工具,开源项目,B/S架构。优点是与不同大数据框架的集成能力与系统可扩展性;缺点是需要编程,不支持异步,对于大规模数据,客户端可能需要等待较长时间。

大数据可视化挑战

数据可视化在大数据场景下面临诸多新的挑战,包括数据规模、数据融合、图表绘制效率、图表表达能力、系统可扩展性、快速构建能力、数据分析与数据交互等。

 

数据规模

大数据规模大、价值密度降低,受限于屏幕空间,所能显示的数据量有限。因此为了有效显示使用者所关注的数据和特征,需要采用有效的数据压缩方法。目前已有的方法针对数据本身进行采样或聚合,未考虑数据可视化的显示特性。近期一些学者提出了针对特定可视化场景的数据压缩方法。但是目前依然缺少通用的面向可视化的数据压缩方法,也缺少实际应用的产品。

 

数据融合

大数据的另一个表现是数据类型多样,常常分布于不同的数据库。如何融合不同来源、不同类型的数据,为使用者提供统一的可视化视角,支持可视化的关联探索与关系挖掘,是一个重要的问题。其中涉及数据关联的自动发现、多类型数据可视化、知识图谱构建等多个技术问题。

 

图表绘制效率

随着数据规模的增加,图表可视化的效率问题越来越凸显。目前,有些可视化产品开始采用WebGL借助GPU实现平行绘制。越来越多的数据可视化产品采用B/S架构,其性能一定程度上优先于浏览器;另外,由于跨终端需求越来越普遍,也对图表绘制提出了更多挑战。

 

图表表达能力

随着产生数据的来源增加,数据类型不断增加,数据使用者对于数据的交互需求越来越多,已有的数据可视化产品完全无法满足使用者的可视化需求,时常出现需要的可视化形式产品不支持或支持不够等问题。这就对于系统的图表表达能力提出了更高的要求,同时对于系统支持使用者的个性化定制提出了新的要求。

 

系统可扩展性

大数据对于数据可视化系统的扩展能力提出了新的挑战,系统的可扩展性将成为衡量一个大数据可视化系统的重要指标。

 

快速构建能力

大数据伴随着快速变化与增加的数据,如何帮助用户及时理解数据,发现问题,离不开数据可视化的快速构建能力,即根据使用者数据驱动的图表快速定制能力。数据在s级甚至ms级更新的情况下,有没有可能实现图表的秒级更新与快速定制。另外,图表定制后的快速共享与响应功能也将成为必要的系统功能。

 

数据分析

传统的BI工具主要集中在数据筛选、聚合及可视化功能,已经不能满足大数据分析的需求,Gartner提出了“增强分析”,数据可视化只有结合丰富的大数据分析方法,将数据的探索式分析形成一个闭环,才能实现完整的大数据可视化产品,有效帮助使用者理解数据。预测性分析是大数据的趋势,数据可视化有效结合预测方法,将有助于使用者的决策。

 

数据交互

大数据可视化使用者需要通过可视化与图表背后的数据和处理逻辑进行交互,由此反应使用者的个性化需求,帮助用户用一种交互迭代的方式理解数据。在传统的交互手段基础上,更加自然的交互方式,将有助于使用者与数据更好的交互,也有助于拓展大数据可视化产品的使用范围与应用场景。

大数据可视化技术与产品所面临主要挑战的同时也对其发展带来了新机遇,例如Yu等提出的面向数据流式可视化的自然语言交互接口,通过自然语言与可视化常见操作的映射实现。微软Excel软件集成自然语言交互,其中的AnnaParser算法将数据表进行抽象并结合表格知识理解实现语义理解。

AutoVis

如前所述,大数据可视化面临一系列挑战。为此,课题组自主研发了数据感知的交互式可视化设计平台AutoVis,目标是让大数据的可视化过程更加简单,核心是辅助使用者快速完成从数据到图表的设计过程,包括数据定义、图表设计、映射过程、图表交互与看板服务。

 

数据定义

AutoVis支持IoTDB、PostgreSQL、MySQL、SQLServer、SQLLite等常用数据库类型,以及提供RESTfulAPI接口的数据服务。设计实现了抽象数据集构建与计算技术,支持不同数据的自由组合,通过抽象数据集归一化,实现数据集的快速生成。

 

图表设计

AutoVis采用模板化思想,提供了百余个覆盖常用可视化技术的图表模板,支持即时模板扩展及拖拽即用,达到秒级图表定义。另外,AutoVis提供了所见即所得的图表组合定制看板能力,实现了分钟级看板定义。

 

映射过程

为了达到图表定制易用性的同时实现实时可扩展性,即融合编程方式的表达能力和交互方式的易用性,AutoVis设计实现了3种互补的数据至图表的映射方式:交互选项、扩展选项、手工编码。

 

图表交互

图表交互能力在大数据场景下愈发重要。AutoVis的图表模板提供了常用的交互功能,包括点选、悬浮、刷选等。另外,AutoVis还实现了看板图表的自动关联,支持跨图表跨数据的钻取能力。

 

看板服务

AutoVis在支持常用的看板链接共享基础上,提供了看板服务能力,即使用者不仅可以将看板共享,或集成到其他系统,还可以动态向看板传递参数,动态调整看板可视化内容。另外,AutoVis围绕看板提供了“数字会商室”功能,使用者可以围绕数字看板进行数据驱动的讨论与决策。

数据可视化已成为人理解数据的重要途径,在大数据时代,人们更加需要有效的数据可视化工具直观分析大规模数据,快速捕捉数据变化。

相对传统的数据可视化,大数据也带来了数据规模、数据融合、图表绘制效率、图表表达能力、系统可扩展性、快速构建能力、数据分析与数据交互等多个方面的挑战。有效应对这些挑战将有助于大数据可视化随着大数据和数据科学的普及,推动其应用到更多领域。

全文详见《大数据可视化技术及应用》,论文发表在《科技导报》2020年第3期。

作者简介:

沈恩亚,清华大学软件学院,大数据系统软件国家工程实验室,博士,研究方向为大数据、数据可视化、可视分析及人机交互。

编辑:于腾凯

校对:林亦霖


http://chatgpt.dhexx.cn/article/ZOXWM095.shtml

相关文章

大数据可视化技术应用学习目标与复习小结

大数据可视化技术与应用 一、大数据可视化概述学习目标1.1 什么是大数据可视化:1.2 大数据可视化的类型1.3大数据可视化的标准 1.4大数据可视化的作用1.5大数据可视化的特征 二、大数据可视化原理学习目标2.1 光源种类,原色、间色、复色概念,…

三维可视化技术都有哪些运用

伴随着数据在当前互联网技术迅速发展壮大下变的层面更广,总数更大、构造愈来愈繁杂,大家如果想要更加清楚,迅速的认识和了解一份数据,传统化的二维平面图数据图表现已不能够满足需求,三维可视化技术越融合多媒体技术、…

【可视化开发】数据大屏可视化技术汇总

由于工作原因,需要用到一些大屏可视化技术,于是通过网上整理、自我学习等多途径,汇总了一份大屏可视化技术的思维导图,如下: 这里主要汇总的是: 大屏可视化技术! 大屏可视化技术! …

基于BIMFILM虚拟施工系统进行可视化技术交底的应用

基于BIMFILM虚拟施工系统进行可视化技术交底的应用 赵飞摘 要:目前技术交底还是以传统施工管理模式下的纸质的二维技术交底为主,而纸质的二维技术交底,技术方案无法细化、不直观,再有纸质的二维技术交底对于结构复杂的项目&#…

技术15期:4种常用的可视化技术【web前端】

说到可视化这个词,可能有的人会一脸懵逼,感觉很陌生,有的人会觉得索然无味,感觉这又是程序员闲暇之余想出的噱头而已。 no,no,no,如果这么想你就错了。 可视化的应用已经深入我们的生活中&#…

windows环境下如何进入到mysql命令行界面

第一步:打开cmd,进入到mysql安装目录下的bin目录 第二步:输入mysql -hlocalhost -uroot -p 第三步:输入mysql的数据库连接密码 看到如下界面就是进入到了mysql 因为我安装的是MariaDB数据库,所以如果出现mysql>也是正确的

mysql篇:如何进入mysql

1、单击windows图标–搜索框内输入cmd,点击运行。 2、在弹出的CMD命令框中输入: “net start mysql”,按下回车。 3、再次输入"mysql -hlocalhost -uroot -p"命令回车 进入mysql数据库。 4、当显示下面的界面时表示成功链接到了…

cmd中怎么进mysql

第一步:启动mysql服务,可以通过“net start myql”命令实现; 第二步:先使用DOS命令进入mysql的安装目录下的bin目录中; (dos命令的基本操作: 盘符: 例如想进入D盘 d: cd 进入到当前盘…

win系统进入mysql

1,使用管理员身份运行cmd 2,进入到mysql所在的bin目录 3,执行mysql -u root -p输入pw 4,查询已存在的数据库show databases;

Windows下cmd进入MySql的命令界面

winR快捷键打开运行,输入cmd,进入cmd若未将MySql加入环境变量,切换到mysql的安装目录下的bin目录;若已加入环境变量,则不必切换目录。输入主机名、数据库名、密码 mysql -h localhost -u root -p输入数据库密码

进入mysql命令行之后,怎么退出

展开全部 进入mysql命令行之后可以按键ctrlc来退出mysql命令客户端; 也可以在命令行输入quit按回车键来62616964757a686964616fe4b893e5b19e31333431366338退出命令行。 扩展资料 mysql命令行常用命令使用方法介绍: 1、连接和断开服务器 shell>…

linux开启并进入Mysql

rootubuntu-server: /etc# ./init.d/mysql start rootubuntu-server: /etc# mysql -uroot -p111111 mysql> show databases; mysql> show tables;

CMD命令进入MySQL数据库的方法

第一步:以管理员身份打开cmd 第二步:进入存放mysql的磁盘(我存放在E盘) 第三步:cd到bin目录 命令:cd 路径 第四步:输入命令 mysql -hlocalhost -uroot -p 第五步:输入密码 没有设置密码&…

在cmd中怎么进入mysql?

在cmd中进入mysql的步骤: 1、按winr打开,输入cmd,快速打开命令行界面,然后进入cmd 2、启动MySQL服务 使用以下命令:net start myql 3、进入mysql数据库 输入以下命令:mysql -hlocalhost -uroot -p 执行上…

MySQL入门指南1(进入命令行,数据库,数据表操作)

目录 进入mysql命令行步骤:常用MySQL命令一、数据库操作二、数据表操作三、最后的话 进入mysql命令行步骤: 1.以管理员身份进入命令提示符 2.通过命令: net start mysql 启动mysql服务 3.通过命令:mysql -u root -p 回车后输入…

如何进入 mysql?

目录 1. win r 2. 输入cmd点确定 3. 输入 mysql -u -p 4. 点回车出现 下面的 就代表已经进入 mysql 退出 mysql的 方法: 1. win r 2. 输入cmd点确定 3. 输入 mysql -u -p -u :代表你的用户名,如果是本地登录 则为 -uroot-p &am…

进入MySQL的两种方法

1.打开MySQL 5.5 Command Line Client,输入密码即可进入 2.打开cmd命令窗口,输入mysql -u__ -p__ u:用户名 p:密码 如mysql -uroot -p123456回车可直接进入数据库 若不想让别人看到自己的密码,可输入mysql -uroot -p回车,再键入…

小程序页面向组件传数组为空

微信小程序给自定义组件传递数组 显示为空 踩坑一、 传的值必须为数组,而不是对象,弄了一下午发现传字符可以,但是数组一接收就为空[],后改为传数组就接收到了 that.setData({avatar: res.data[0].avatar,bgimage:res.data[0].b…

微信小程序如何从数组里取值_微信小程序 传值取值的几种方法总结

小程序里常见的取值有以下几种,一个完整的项目写下来,用到的概率几乎是100%。 列表index下标取值 页面传值 form表单取值 1. 列表index下标取值 实现方式是:data-index="{{index}}"挖坑及e.currentTarget.dataset.index来填坑即可 。 1.1 生成值 1 删除 在删除图标…

微信小程序常见面试题

1、小程序有几个文件 WXML:是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构;WXSS: 用于描述 WXML 的组件样式;js: 逻辑处理;json:小程序页面配置…