大数据可视化理论及技术

大数据可视化理论及技术(一)大数据可视分析综述可视分析是大数据分析的重要方法大数据可视分析旨 在利用计算机自动化分析能力的同时,充分挖掘人对于可视 化信息的认知能力优势,将人、机的各自强项进行有机融合, 借助人机交互式分析方法和交互技术,辅助人们更为直观和 高效地洞悉大数据背后的信息、知识与智慧主要从可视分 析领域所强调的认知、可视化、人机交互的综合视角出发, 分析了支持大数据可视分析的基础理论,包括支持分析过程 的认知理论、信息可视化理论、人机交互与用户界面理论 在此基础上,讨论了面向大数据主流应用的信息可视化技术 ——面向文本、网络(图)、时空、多维的可视化技术同时 探讨了支持可视分析的人机交互技术,包括支持可视分析过 程的界面隐喻与交互组件、多尺度 /多焦点 /多侧面交互技 术、面向 Post-WIMP 的自然交互技术最后,指出了大数据 可视分析领域面临的瓶颈问题与技术挑战二)大数据分析工具大数据是一个含义广泛的术语,是指数据集,如此庞大 而复杂的,他们需要专门设计的硬件和软件工具进行处理 该数据集通常是万亿或 EB 的大小这些数据集收集自各种 各样的来源:传感器,气候信息,公开的信息,如杂志,报 纸,文章。
大数据产生的其他例子包括购买交易记录,网络 日志,病历,军事监控,视频和图像档案,及大型电子商务在大数据和大数据分析,他们对企业的影响有一个兴趣 高涨大数据分析是研究大量的数据的过程中寻找模式,相 关性和其他有用的信息,可以帮助企业更好地适应变化,并 做出更明智的决策大数据分析的常用工具通常有以下介绍 的几种4.2.1HadoopHadoop 是一个能够对大量数据进行分布式处理的软件框 架但是 Hadoop 是以一种可靠、高效、可伸缩的方式进行 处理的Hadoop是可靠的,因为它假设计算元素和存储会失 败,因此它维护多个工作数据副本,确保能够针对失败的节 点重新分布处理Hadoop是高效的,因为它以并行的方式工 作,通过并行处理加快处理速度Hadoop还是可伸缩的,能 够处理PB级数据此外,Hadoop依赖于社区服务器,因此 它的成本比较低,任何人都可以使用Hadoop 带有用 Java 语言编写的框架,因此运行在 Linux 生产平台上是非常理想的Hadoop 上的应用程序也可以使用其他语言编写,比如 C++4.2.2HPCCHPCC , High Performance Computing and Communications(高性能计算与通信)的缩写。
1993年,由美 国科学、工程、技术联邦协调理事会向国会提交了“重大挑 战项目:高性能计算与通信”的报告,也就是被称为 HPCC 计划的报告,即美国总统科学战略项目,其目的是通过加强 研究与开发解决一批重要的科学与技术挑战问题HPCC是美 国实施信息高速公路而上实施的计划,该计划的实施将耗资 百亿美元,其主要目标要达到:开发可扩展的计算系统及相 关软件,以支持太位级网络传输性能,开发千兆比特网络技 术,扩展研究和教育机构及网络连接能力该项目主要由五部分组成:高性能计算机系统(HPCS),内容包括今后几代计算机系统的研究、系统设计工具、先进的典型系统及原有系统的评 价等;先进软件技术与算法(ASTA),内容有巨大挑战问题的软 件支撑、新算法设计、软件分支与工具、计算计算及高性能 计算研究中心等;国家科研与教育网格(NREN),内容有中接站及10亿位级 传输的研究与开发;基本研究与人类资源(BRHR),内容有基础研究、培训、教育及课程教材,被设计通过奖励调查者 -开始的,长期的 调查在可升级的高性能计算中来增加创新意识流,通过提高 教育和高性能的计算训练和通信来加大熟练的和训练有素的人员的联营,和来提供必需的基础架构来支持这些调查和 研究活动;信息基础结构技术和应用(IITA),目的在于保证美国在先进信息技术开发方面的领先地位。
ECL Developer Using ECL IDE图4・1:HPCC各部分之间的联系4.2.3StormStorm是自由的开源软件,一个分布式的、容错的实时计算系统Storm可以非常可靠的处理庞大的数据流,用于处理Hadoop的批量数据Storm很简单,支持许多种编程语言, 使用起来非常有趣Storm由Twitter开源而来,其它知名 的应用企业包括Groupon、淘宝、支付宝、阿里巴巴、乐元 素、Admaster 等等Storm有许多应用领域:实时分析、在线机器学习、不停 顿的计算、分布式RPC(远过程调用协议,一种通过网络从远 程计算机程序上请求服务)、 ETL(Extraction—Transformation—Loading 的缩写,即数据 抽取、转换和加载)等等Storm的处理速度惊人:经测试, 每个节点每秒钟可以处理100万个数据元组Storm是可扩 展、容错,很容易设置和操作4.2.4ApacheDrill为了帮助企业用户寻找更为有效、加快Hadoop数据查询 的方法,Apache软件基金会近日发起了一项名为“Drill” 的开源项目ApacheDrill 实现了 Google'sDremel。
据 Hadoop 厂 商 MapRTechnologies 公司产 品经理TomerShiran介绍,“Drill”已经作为Apache孵化器项目 来运作,将面向全球软件工程师持续推广该项目将会创建 出开源版本的谷歌DremelHadoop工具(谷歌使用该工具来为 Hadoop数据分析工具的互联网应用提速)而“Drill”将有 助于Hadoop用户实现更快查询海量数据集的目的Drill”项目其实也是从谷歌的Dremel项目中获得灵 感:该项目帮助谷歌实现海量数据集的分析处理,包括分析 抓取Web文档、跟踪安装在AndroidMarket上的应用程序数 据、分析垃圾邮件、分析谷歌分布式构建系统上的测试结果通过开发“Drill”Apache开源项目,组织机构将有望建立Drill所属的API接口和灵活强大的体系架构,从而帮助 支持广泛的数据源、数据格式和查询语言4.2.5RapidMinerRapidMiner是世界领先的数据挖掘解决方案,在一个非 常大的程度上有着先进技术它数据挖掘任务涉及范围广 泛,包括各种数据艺术,能简化数据挖掘过程的设计和评价4.2.6PentahoBIPentahoBI平台不同于传统的BI产品,它是一个以流程 为中心的,面向解决方案(Solution)的框架。
其目的在于将 一系列企业级BI产品、开源软件、API等等组件集成起来, 方便商务智能应用的开发它的出现,使得一系列的面向商 务智能的独立产品如J free、Quartz等等,能够集成在一 起,构成一项项复杂的、完整的商务智能解决方案Pentaho SDK共包含五个部分:Pentaho平台、Pentaho 示例数据库、可独立运行的Pentaho平台、Pentaho解决方 案示例和一个预先配制好的 Pentaho网络服务器其中Pentaho平台是Pentaho平台最主要的部分,囊括了 Pentaho 平台源代码的主体;Pentaho数据库为Pentaho平台的正常 运行提供的数据服务,包括配置信息、Solution相关的信息 等等,对于Pentaho平台来说它不是必须的,通过配置是可 以用其它数据库服务取代的;可独立运行的Pentaho平台是 Pentaho平台的独立运行模式的示例,它演示了如何使 Pentaho平台在没有应用服务器支持的情况下独立运行; Pentaho解决方案示例是一个Eclipse工程,用来演示如何 为Pentaho平台开发相关的商业智能解决方案Pentaho BI平台构建于服务器,引擎和组件的基础之上。
这些提供了系统的J2EE服务器,安全,portal,工作流, 规则引擎,图表,协作,内容管理,数据集成,分析和建模 功能这些组件的大部分是基于标准的,可使用其他产品替 换之三)数据化可视化分析综述4.3.1 信息可视化、人机交互、可视分析的基本概念Card等人对信息可视化的定义为:对抽象数据使用计算 机支持的、交互的、可视化的表示形式以增强认知能力与 传统计算机图形学以及科学可视化研究不同,信息可视化的 研究重点更加侧重于通过可视化图形呈现数据中隐含的信 息和规律,所研究的创新性可视化表征旨在建立符合人的认 知规律的心理映像经过20余年的发展,信息可视化已经 成为人们分析复杂问题的强有力工具人机交互的定义为:人与系统之间通过某种对话语言,在 一定的交互方式和技术支持下的信息交换过程其中的系统 可以是各类机器,也可以是计算机和软件用户界面或人机 界面指的是人机交互所依托的介质和对话接口,通常包含硬 件和软件系统信息可视化的概念最早即是在ACM “用户界面软件与技 术”会议中提出,其本质是一种交互式的图形用户界面范型 人机交互的发展一方面强调研究智能化的用户界面,将计算 机系统变成一个有思想、有个性、有观点的智能机器人;另 一方面强调充分利用计算机系统和人各自的优势,弥补彼此 的不足,共同协作来分析和解决问题。
大数据可视分析是指在大数据自动分析挖掘方法的同时,利用支持信息可视化的用户界面以及支持分析过程的人 机交互方式与技术,有效融合计算机的计算能力和人的认知 能力,以获得对于大规模复杂数据集的洞察力4.3.2 支持可视分析的基础理论可视化分析需要有多样的理论支持,而其中支持分析的 主要认知理论模型、意义建构理论模型、人机交互分析过程 的用户认知模型、分布式认知理论、信息可视化理论模型、 信息可视化理论模型、人机交互与用户界面理论模型等,这 些为大数据的可视化处理的实现提供了坚实的理论基础4.3.3 面向大数据主流应用的信息可视化技术大数据可视化技术涉及传统的科学可视化和信息可视 化,从大数据分析将掘取信息和洞悉知识作为目标的角度出 发,信息可视化技术将在大数据可视化中扮演更为重要的角 色Shneiderman根据信息的特征把信息可视化技术分为一 维信息(1-dimensional)、二维信息(2-dimensional)、三维 信息(3-dimensional)、多维信息(multi-dimensional)、层次信息(tree)、网络信息(network)、时序信息(temporal) 可视化20 年来,研究者围绕着上述信息类型提出众多的信 息可视化新方法和新技术,并获得了广泛的应用。
随着大数据的兴起与发展,互联网、社交网络、地理信 息系统、企业商业智能、社会公共服务等主流应用领域逐渐 催生了几类特征鲜明的信息类型,主要包括文本、网络或图、 时空、及多维数据等这些与大数据密切相关的信息类型与 Shneiderman 的分类交叉融合,将成为大数据可视化的主要 研究领域表4.1:可视化的分类比较可文本可冬厂时空数多维数据视化视化可视化据可视化可视化分类文本信网络关联时空数多维数据息是大数关糸是大数据是指带指的是具有据时代非据中最常见有地理位多个维度属结构化数的关系,例如置与时间性的数据变据类型的互联网与社标签的数量,广泛存在典型代表,交网络传感器于基于传统是互联网结构数据也与移动终关系数据库中最主要属于网络信端的迅速以及数据仓的信息类息的一种特普及,使得库的应用中,型,也是物殊情况基于时空数据例如企业信联网各种网络节点和成为大数息系统以及意传感器采连接的拓扑据时代典商业智能系义及集后生成关系,直观地型的数据统多维数据影响的主要信展示网络中类型时空分析的目标息类型,人潜在的模式数据可视是探索多维们日常工关系,例如节化与地理数据项的分作和生活点或边聚集制图学相布规律和模中接触最性,是网络可结合,重点式,并揭示不多的电子视化的主要对时间与同维度属性文档也是内容之一。
对空间维度之间的隐含以文本形于具有海量以及与之关系Keim式存在文节点和边的相关的信等人归纳了本可视化大规模网络,息对象属多维可视化的意义在如何在有限性建立可的基本方法,于,能够将的屏幕空间视化表征,包括基于几文本中蕴中进行可视对与时间何图形、基于含的语义化,将是大数和空间密图标、基于像特征(例如据时代面临切相关的素、基于层次词频与重的难点和重模式及规结构、基于图要度、逻辑点除了对静律进行展结构以及混结构、主题态的网络拓示大数据合方法其聚类、动态扑关系进行环境下时中,基于几何演化规律可视化,大数空数据的图形的多维等)直观地据相关的网高维性、实可视化方法展示出来络往往具有时性等特是近年来主动态演化性,点,也是时要的研究方因此,如何对空数据可向大数据背动态网络的视化的重景下,除了数特征进行可点据项规模扩视化,也是不张带来的挑可或缺的研战,高维所引究内容起的问题也是研究的重点4.3.4 支持可视分析的人机交互技术信息可视化中的人机交互技术主要可概括为 5类:动态过滤技术与动态过滤用户界面、整体+详细技术与用户界面、平移+缩放技术与可缩放用户界面(ZUI)、焦点+上下文技术与用户界面、多视图关联协调技术与关联多视图用户界面。
根据上面对可视分析相关的任务建模的讨论,大数据可视分 析中涉及的人机交互技术在融合与发展上述几大类交互基础之上,还需要重点研究对可视分析推理过程提供界面支持 的人机交互技术以及更符合分析过程认知理论的自然、高效 的人机交互技术四)数据可视化的问题与挑战大数据在可视化的发展过程中也面临着以下的问题和挑 战1) 多源、异构、非完整、非一致、非准确数据的集成与 接口大数据可视化与可视分析所依赖的基础是数据,而大数 据时代数据的来源众多,且多来自于异构环境即使获得数 据源,得到的数据的完整性、一致性、准确性都难以保证, 数据质量的不确定问题将直接影响可视分析的科学性和准 确性大数据可视化的前提是建立在集成的数据接口,并且 与可视分析系统形成松耦合的接口关系,以供各种可视化算 法方便的调用,使得可视分析系统的研发者和使用者不需要 关系数据接口背后的复杂机理可见,大数据的集成和接口 问题将是大数据可视分析面临的第一个挑战2) 匹配心理映像的可视化表征设计与评估科学/信息可视化领域经过几十年的发展,积累了大量各 具特色的可视化表征,这将为大数据可视化提供有力的支 持然而,绝大多数在当时看来创新的可视化技术,只能被 少部分研究人员所接收,却难以获得广泛的认可和应用。
原 因在于:大量的可视化表征的创造仅仅在于追求技术角度的 创新,而忽视了可视化尤其是信息可视化领域的本源——符 合人的认知规律和心理映像针对大数据所固有的特点,未 来仍将涌现更多的可视化表征3) 最大限度发挥人、机各自优势的人机交互与最优化 协作求解如前所述,人和机器各自拥有无可替代的优势,人具有 机器所不具备的视觉系统以及强大的感知认知能力,并且具 有非逻辑理性的直觉判断和分析解读能力,但是人的工作记 忆却只有 7 个左右的信息块;而计算机拥有巨大的存储系统 和强大的数据处理能力,能够根据数据挖掘模型在短时间内 完成大规模的计算量因此,大数据可视分析的过程就是充 分利用各自优势并且紧密协作的过程然而,目前大数据可 视分析领域仍未能十分清晰和细致地界定在问题分析过程 中,人机交互的多层次多粒度任务应该如何最优化地分布在 人、机两侧而且,目前正处于从WIMP走向Post-WIMP的 过渡期,各种交互技术如何最优的匹配具体的分析任务,仍 有待深入的研究与验证4) 以用户为中心的系统设计与开发方法论、框架以及工 具随着互联网、物联网、云计算的迅猛发展,数据随处可 见、触手可及政府的政策制定、经济与社会的发展、企业 的生存与竞争以及每个人日常生活的衣食住行无不与大数 据有关。
因此,未来任何领域的普通个人均存在着大数据分 析的需求人人都懂大数据、人人都能可视化”将是大数 据领域的发展目标之一可视化领域大量极具潜力的创新技 术,之所以未能从学术界推广至产业界,一个重要的原因是 缺乏简单易行的、以用户为中心的系统设计与开发方法论、 框架以及工具具体应用领域的用户往往不懂看似高深的可 视化和交互技术,他们通常只提出问题需求或提供大数据 如何能使得最终用户快捷方便地、自助式地实现大数据可视 分析系统,满足自己的个性化需求,将是大数据可视分析走 向大范围应用并充分发挥价值的关键5) 可扩展性问题大数据的数据规模目前已经呈现爆炸式增长,数据量的 无限积累与数据的持续演化,导致普通计算机的处理能力难 以达到理想的范围同时,主流显示设备的像素数也难以跟 上大数据增长的脚步,造成像素的总和还不如要可视化的数 据多而且,大量在较小的数据规模下可行的可视化技术在 面临极端大规模数据时将无能为力然而,大数据可视分析 系统应具有很好的可扩展性,即感知扩展性和交互扩展性只 取决于可视化的精度而不依赖数据规模的大小,以支持实时 的可视化与交互操作因此,未来如何对于超高维数据的降维以降低数据规模、如何结合大规模并行处理方法与超级计算机、如何将目前有价值的可视化算法和人机交互技术提升和拓展到大数据领域,将是未来最严峻的挑战。