大数据分析:是指对规模巨大的数据进行分析。大数据可以概括为4个V, 数据量大、速度快、类型多、价值。
大数据作为时下最火热的IT行业的词汇,随之而来的数据仓库、数据安全、数据分析、数据挖掘等等围绕大数据的商业价值的利用逐渐成为行业人士争相追捧的利润焦点。随着大数据时代的来临,大数据分析也应运而生。那么大数据分析有哪些核心技术呢?下面奇酷大数据为大家浅谈大数据分析。
1.大数据生命周期
数据技术栈底层是基础设施,涵盖计算资源、内存与存储和网络互联,具体表现为计算节点、集群、机柜和数据。在此之上是数据存储和管理,包括文件系统、数据库和类似YARN的资源管理系统。然后是计算处理层,如hadoop、MapReduce和Spark,以及在此之上的各种不同计算范式,如批处理、流处理和图计算等,包括衍生出编程模型的计算模型,如BSP、GAS 等。数据分析和可视化基于计算处理层。分析包括简单的查询分析、流分析以及更复杂的分析(如机器学习、图计算等)。查询分析多基于表结构和关系函数,流分析基于数据、事件流以及简单的统计分析,而复杂分析则基于更复杂的数据结构与方法,如图、矩阵、迭代计算和线性代数。 般意义的可视化是对分析结果的展示。但是通过交互式可视化,还可以探索性地提问,使分析获得新的线索,形成迭代的分析和可视化。基于大规模数据的实时交互可视化分析以及在这个过程中引入自动化的因素是目前研究的热点。
有2个领域垂直打通了上述的各层,需要整体、协同地看待。 是编程和管理工具,方向是机器通过学习实现自动较优化、尽量无需编程、无需复杂的配置。另 个领域是数据安全,也是贯穿整个技术栈。除了这两个领域垂直打通各层,还有 些技术方向是跨了多层的,例如“内存计算”事实上覆盖了整个技术栈。
2.大数据技术生态
大数据的基本处理流程与传统数据处理流程并无太大差异,主要区别在于:由于大数据要处理大量、非结构化的数据,所以在各处理环节中都可以采用并行处理。目前,Hadoop、MapReduce和Spark等分布式处理方式已经成为大数据处理各环节的通用处理方法。
另外,基于性能、兼容性、数据类型的研究,还有Shark、Phoenix、Apache Accumulo、Apache Drill、Apache Giraph、Apache Hama、Apache Tez、Apache Ambari 等其他开源解决方案。预计未来相当长 段时间内,主流的Hadoop平台改进后将与各种新的计算模式和系统共存,并相互融合,形成新 代的大数据处理系统和平台。
3.大数据采集与预处理
在MapReduce产生数据的应用系统分类,大数据的采集主要有4种来源:管理信息系统、Web信息系统、物理信息系统、科学实验系统。对于不同的数据集,可能存在不同的结构和模式,如文件、XML 树、关系表等,表现为数据的异构性。对多个异构的数据集,需要做进 步集成处理或整合处理,将来自不同数据集的数据收集、整理、清洗、转换后,生成到 个新的数据集,为后续查询和分析处理提供统 的数据视图。针对管理信息系统中异构数据库集成技术、Web 信息系统中的实体识别技术和DeepWeb集成技术、传感器网络数据融合技术已经有很多研究工作,取得了较大的进展,已经推出了多种数据清洗和质量控制工具。
4.大数据存储与管理
传统的数据存储和管理以结构化数据为主,因此关系数据库系统(RDBMS)可以 统天下满足各类应用需求。大数据往往是半结构化和非结构化数据为主,结构化数据为辅,而且各种大数据应用通常是对不同类型的数据内容检索、交叉比对、深度挖掘与综合分析。面对这类应用需求,传统数据库无论在技术上还是功能上都难以为继。另外,用Hadoop实现对半结构化和非结构化数据的处理,以支持诸如内容检索、深度挖掘与综合分析等新型应用。这类混合模式将是大数据存储和管理未来发展的趋势。
5.大数据计算模式与系统
计算模式的出现有力推动了大数据技术和应用的发展,使其成为目前大数据处理较为成功、较广为接受使用的主流大数据计算模式。然而,现实 中的大数据处理问题复杂多样,难以有 种单 的计算模式能涵盖所有不同的大数据计算需求。研究和实际应用中发现,由于MapReduce主要适合于进行大数据线下批处理,在面向低延迟和具有复杂数据关系和复杂计算的大数据问题时有很大的不适应性。因此,近几年来学术界和业界在不断研究并推出多种不同的大数据计算模式。
所谓大数据计算模式,即根据大数据的不同数据特征和计算特征,从多样性的大数据计算问题和需求中提炼并建立的各种高层抽象或模型。根据大数据处理多样性的需求和以上不同的特征维度,目前出现了多种典型和重要的大数据计算模式。与这些计算模式相适应,出现了很多对应的大数据计算系统和工具。由于单纯描述计算模式比较抽象和空洞,因此在描述不同计算模式时,将同时给出相应的典型计算系统和工具,这将有助于对计算模式的理解以及对技术发展现状的把握,并进 步有利于在实际大数据处理应用中对合适的计算技术和系统工具的选择使用。
6.大数据分析与可视化
在大数据时代,人们迫切希望在由普通机器组成的大规模集群上实现高性能的以机器学习算法为核心的数据分析,为实际业务提供服务和指导,进而实现数据的较终变现。与传统的在线联机分析处理OLAP不同,对大数据的深度分析主要基于大规模的机器学习技术, 般而言,机器学习模型的训练过程可以归结为较优化定义于大规模训练数据上的目标函数并且通过 个循环迭代的算法实现,如图4所示。因而与传统的OLAP相比较,基于机器学习的大数据分析具有自己独特的特点。
基于机器学习的大数据分析算法目标函数和迭代优化过程
(1)迭代性:由于用于优化问题通常没有闭式解,因而对模型参数确定并非 次能够完成,需要循环迭代多次逐步逼近较优值点。
(2)容错性:机器学习的算法设计和模型评价容忍非较优值点的存在,同时多次迭代的特性也允许在循环的过程中产生 些错误,模型的较终收敛不受影响。
(3)参数收敛的非均匀性:模型中 些参数经过少数几轮迭代后便不再改变,而有些参数则需要很长时间才能达到收敛。
这些特点决定了理想的大数据分析系统的设计和其他计算系统的设计有很大不同,直接应用传统的分布式计算系统应用于大数据分析,很大比例的资源都浪费在通信、等待、协调等非有效的计算上。
传统的分布式计算框架MPI(message passing interface,信息传递接口)虽然编程接口灵活功能强大,但由于编程接口复杂且对容错性支持不高,无法支撑在大规模数据上的复杂操作,研究人员转而开发了 系列接口简单容错性强的分布式计算框架服务于大数据分析算法,以MapReduce、Spark和参数服务器ParameterServer等为代表。
分布式计算框架MapReduce将对数据的处理归结为Map和Reduce两大类操作,从而简化了编程接口并且提高了系统的容错性。但是MapReduce受制于过于简化的数据操作抽象,而且不支持循环迭代,因而对复杂的机器学习算法支持较差,基于MapReduce的分布式机器学习库Mahout需要将迭代运算分解为多个连续的Map 和Reduce 操作,通过读写HDFS文件方式将上 轮次循环的运算结果传入下 轮完成数据交换。在此过程中,大量的训练时间被用于磁盘的读写操作,训练效率非常低效。为了解决MapReduce上述问题,Spark 基于RDD 定义了包括Map 和Reduce在内的更加丰富的数据操作接口。不同于MapReduce 的是Job 中间输出和结果可以保存在内存中,从而不再需要读写HDFS,这些特性使得Spark能更好地适用于数据挖掘与机器学习等需要迭代的大数据分析算法。基于Spark实现的机器学习算法库MLLIB已经显示出了其相对于Mahout 的优势,在实际应用系统中得到了广泛的使用。
最后,在大数据分析的应用过程中,可视化通过交互式视觉表现的方式来帮助人们探索和理解复杂的数据。可视化与可视分析能够迅速和有效地简化与提炼数据流,帮助用户交互筛选大量的数据,有助于使用者更快更好地从复杂数据中得到新的发现,成为用户了解复杂数据、开展深入分析不可或缺的手段。
网友评论