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

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

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

image

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

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

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

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

大数据可视化内涵

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

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

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

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

大数据可视化技术

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

常用的数据可视化技术

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

image

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

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

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

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

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

大规模数据可视化

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

(1)并行可视化

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

  • 任务并行将可视化过程分为独立的子任务,同时运行的子任务之间不存在数据依赖。
  • 流水线并行采用流式读取数据片段,将可视化过程分为多个阶段,计算机并行执行各个阶段加速处理过程。
  • 数据并行是一种“单程序多数据”方式,将数据划分为多个子集,然后以子集为粒度并行执行程序处理不同的数据子集。

(2)原位可视化

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

  • 输出为图像的原位可视化,在数值模拟过程中,将数据映射为可视化,并保存为图像。
  • 输出为分布数据的原位可视化,根据使用者定义的统计指标,在数值模拟过程中计算统计指标并保存,后续进行统计数据可视化;
  • 输出为压缩数据的原位可视化采用压缩算法降低数值模拟数据输出规模,将压缩数据作为后续可视化处理的输入;
  • 输出为特征的原位可视化采用特征提取方法,在数值模拟过程中提取特征并保存,将特征数据作为后续可视化处理的输入。

时序数据可视化

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

image

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

image

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

image

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

image

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

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

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

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

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

数据可视化生成方式

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

image

数据可视化生产方式

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

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

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

大数据可视化产品

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

传统数据可视化产品

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

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

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

面向大数据的可视化产品

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

image

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围绕看板提供了“数字会商室”功能,使用者可以围绕数字看板进行数据驱动的讨论与决策。

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

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

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/live

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-04-13
本文作者:今日头条
本文来自:“51CTO”,了解相关信息可以关注“51CTO

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
28天前
|
Cloud Native 数据处理 云计算
探索云原生技术在大数据分析中的应用
随着云计算技术的不断发展,云原生架构作为一种全新的软件开发和部署模式,正逐渐引起企业的广泛关注。本文将探讨云原生技术在大数据分析领域的应用,介绍其优势与挑战,并探讨如何利用云原生技术提升大数据分析的效率和可靠性。
|
3月前
|
数据采集 传感器 人工智能
大数据关键技术之电商API接口接入数据采集发展趋势
本文从数据采集场景、数据采集系统、数据采集技术方面阐述数据采集的发展趋势。 01 数据采集场景的发展趋势 作为大数据和人工智能工程的源头,数据采集的场景伴随着应用场景的发展而变化,以下是数据采集场景的发展趋势。
|
3月前
|
数据采集 搜索推荐 大数据
大数据技术在电商平台中的应用
电商平台是当今社会最为普及的购物方式之一,而大数据技术则成为了众多企业的强有力竞争力。本文将介绍大数据技术在电商平台中的应用,包括数据采集、预测分析、用户画像等方面,并探讨其对电商平台的价值和意义。
|
3月前
|
机器学习/深度学习 数据采集 算法
大数据分析技术与方法探究
在当今信息化时代,数据量的增长速度远快于人类的处理能力。因此,如何高效地利用大数据,成为了企业和机构关注的焦点。本文将从大数据分析的技术和方法两个方面进行探究,为各行业提供更好的数据应用方向。
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
大数据分析的技术和方法:从深度学习到机器学习
大数据时代的到来,让数据分析成为了企业和组织中不可或缺的一环。如何高效地处理庞大的数据集并且从中发现潜在的价值是每个数据分析师都需要掌握的技能。本文将介绍大数据分析的技术和方法,包括深度学习、机器学习、数据挖掘等方面的应用,以及如何通过这些技术和方法来解决实际问题。
49 2
|
8天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
3月前
|
机器学习/深度学习 存储 人工智能
大数据处理与分析技术:未来的基石
在信息化时代,数据已成为企业发展和决策的基础。而随着数据量的不断增长,传统的数据处理方法已经无法满足现代企业的需求。因此,大数据处理与分析技术的出现成为了新时代的必需品。本文将介绍大数据处理与分析技术的概念,意义、应用场景以及未来发展趋势。
48 3
|
17天前
|
NoSQL 大数据 数据挖掘
现代数据库技术与大数据应用
随着信息时代的到来,数据量呈指数级增长,对数据库技术提出了前所未有的挑战。本文将介绍现代数据库技术在处理大数据应用中的重要性,并探讨了一些流行的数据库解决方案及其在实际应用中的优势。
|
22天前
|
机器学习/深度学习 人工智能 数据可视化
基于Python的数据可视化技术在大数据分析中的应用
传统的大数据分析往往注重数据处理和计算,然而数据可视化作为一种重要的技术手段,在大数据分析中扮演着至关重要的角色。本文将介绍如何利用Python语言中丰富的数据可视化工具,结合大数据分析,实现更直观、高效的数据展示与分析。
|
29天前
|
存储 NoSQL 大数据
新型数据库技术在大数据分析中的应用与优势探究
随着大数据时代的到来,传统数据库技术已经无法满足海量数据处理的需求。本文将探讨新型数据库技术在大数据分析中的应用情况及其所带来的优势,为读者解析数据库领域的最新发展趋势。