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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 本文从大数据本身的特点及其应用需求出发,结合数据可视化的研究现状,介绍了适用于大数据的数据可视化技术;分析在大数据条件下数据可视化所要解决的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

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
1月前
|
分布式计算 Hadoop 分布式数据库
Hadoop生态系统介绍(二)大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
Hadoop生态系统介绍(二)大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
80 2
|
18天前
|
分布式计算 数据可视化 大数据
于SpringBoot+大数据城市景观画像可视化设计和实现
于SpringBoot+大数据城市景观画像可视化设计和实现
|
1月前
|
数据采集 传感器 大数据
利用大数据进行精准农业:技术与挑战
【6月更文挑战第6天】大数据技术正变革农业,推动精准农业发展。通过实时收集农田数据(如土壤条件、作物生长情况),运用数据分析预测病虫害,优化生产管理。示例代码显示了如何使用Python进行产量预测。然而,数据质量、整合、农民技术接受度及隐私安全等问题挑战重重。需强化数据管理,统一标准,提升农民数字素养,并保障数据安全。随着技术进步,大数据在精准农业的应用将更加广泛,助力农业高效可持续发展。
41 0
|
11天前
|
分布式计算 大数据 Spark
Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
《Spark大数据处理:技术、应用与性能优化》深入浅出介绍Spark核心,涵盖部署、实战与性能调优,适合初学者。作者基于微软和IBM经验,解析Spark工作机制,探讨BDAS生态,提供实践案例,助力快速掌握。书中亦讨论性能优化策略。[PDF下载链接](https://zhangfeidezhu.com/?p=347)。![Spark Web UI](https://img-blog.csdnimg.cn/direct/16aaadbb4e13410f8cb2727c3786cc9e.png#pic_center)
26 1
Spark大数据处理:技术、应用与性能优化(全)PDF书籍推荐分享
|
27天前
|
监控 数据可视化 大数据
大数据技术在公共交通系统规划中的应用
大数据技术在公共交通系统规划中的应用
|
1月前
|
分布式计算 Hadoop 大数据
大数据技术:Hadoop与Spark的对比
【6月更文挑战第15天】**Hadoop与Spark对比摘要** Hadoop是分布式系统基础架构,擅长处理大规模批处理任务,依赖HDFS和MapReduce,具有高可靠性和生态多样性。Spark是快速数据处理引擎,侧重内存计算,提供多语言接口,支持机器学习和流处理,处理速度远超Hadoop,适合实时分析和交互式查询。两者在资源占用和生态系统上有差异,适用于不同应用场景。选择时需依据具体需求。
|
1月前
|
SQL 关系型数据库 MySQL
基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)
基于Hive的天气情况大数据分析系统(通过hive进行大数据分析将分析的数据通过sqoop导入到mysql,通过Django基于mysql的数据做可视化)
|
1月前
|
存储 大数据 分布式数据库
使用Apache HBase进行大数据存储:技术解析与实践
【6月更文挑战第7天】Apache HBase,一个基于HDFS的列式存储NoSQL数据库,提供高可靠、高性能的大数据存储。其特点是列式存储、可扩展至PB级数据、低延迟读写及多版本控制。适用场景包括大规模数据存储、实时分析、日志存储和推荐系统。实践包括集群环境搭建、数据模型设计、导入、查询及性能优化。HBase在大数据存储领域扮演关键角色,未来有望在更多领域发挥作用。
|
2月前
|
分布式计算 监控 Java
Java的大数据处理与分析技术 (2)
Java的大数据处理与分析技术 (2)
|
2月前
|
存储 数据采集 分布式计算
大数据技术生态系统概述
【5月更文挑战第30天】大数据技术生态系统涵盖数据采集(Flume, Logstash, FileBeat, Sqoop, Datax, Canaal, Maxwell)、存储(HDFS, HBase, Kudu, Kafka)、资源管理(YARN, Kubernetes, Mesos)、计算(MapReduce, Spark, Storm, Flink)、分析(Hive, Impala, Kylin, Clickhouse, Druid, Drois)、任务调度(Azkaban, Oozie, DolphinScheduler)及底层技术(Zookeeper)。
55 1