大数据(Big Data)
大数据,官方定义是指那些数据量特别大、数据类别特别复杂的数据集,这种数据集无法用传统的数据库进行存储,管理和处理。大数据的主要特点为数据量大(Volume),数据类别复杂(Variety),数据处理速度快(Velocity)和数据真实性高(Veracity),合起来被称为4V。
大数据中的数据量非常巨大,达到了PB级别。而且这庞大的数据之中,不仅仅包括结构化数据(如数字、符号等数据),还包括非结构化数据(如文本、图像、声音、视频等数据)。这使得大数据的存储,管理和处理很难利用传统的关系型数据库去完成。在大数据之中,有价值的信息往往深藏其中。这就需要对大数据的处理速度要非常快,才能短时间之内就能从大量的复杂数据之中获取到有价值的信息。在大数据的大量复杂的数据之中,通常不仅仅包含真实的数据,一些虚假的数据也混杂其中。这就需要在大数据的处理中将虚假的数据剔除,利用真实的数据来分析得出真实的结果。
大数据分析(Big Data Analysis)
大数据,表面上看就是大量复杂的数据,这些数据本身的价值并不高,但是对这些大量复杂的数据进行分析处理后,却能从中提炼出很有价值的信息。对大数据的分析,主要分为五个方面:可视化分析(Analytic Visualization)、数据挖掘算法(Date Mining Algorithms)、预测性分析能力(Predictive Analytic Capabilities)、语义引擎(Semantic Engines)和数据质量管理(Data Quality Management)。
可视化分析是普通消费者常常可以见到的一种大数据分析结果的表现形式,比如说百度制作的“百度地图春节人口迁徙大数据”就是典型的案例之一。可视化分析将大量复杂的数据自动转化成直观形象的图表,使其能够更加容易的被普通消费者所接受和理解。
数据挖掘算法是大数据分析的理论核心,其本质是一组根据算法事先定义好的数学公式,将收集到的数据作为参数变量带入其中,从而能够从大量复杂的数据中提取到有价值的信息。著名的“啤酒和尿布”的故事就是数据挖掘算法的经典案例。沃尔玛通过对啤酒和尿布购买数据的分析,挖掘出以前未知的两者间的联系,并利用这种联系,提升了商品的销量。亚马逊的推荐引擎和谷歌的广告系统都大量使用了数据挖掘算法。
预测性分析能力是大数据分析最重要的应用领域。从大量复杂的数据中挖掘出规律,建立起科学的事件模型,通过将新的数据带入模型,就可以预测未来的事件走向。预测性分析能力常常被应用在金融分析和科学研究领域,用于股票预测或气象预测等。
语义引擎是机器学习的成果之一。过去,计算机对用户输入内容的理解仅仅停留在字符阶段,不能很好的理解输入内容的意思,因此常常不能准确的了解用户的需求。通过对大量复杂的数据进行分析,让计算机从中自我学习,可以使计算机能够尽量精确的了解用户输入内容的意思,从而把握住用户的需求,提供更好的用户体验。苹果的Siri和谷歌的Google Now都采用了语义引擎。
数据质量管理是大数据在企业领域的重要应用。为了保证大数据分析结果的准确性,需要将大数据中不真实的数据剔除掉,保留最准确的数据。这就需要建立有效的数据质量管理系统,分析收集到的大量复杂的数据,挑选出真实有效的数据。
分布式计算(Distributed Computing)
对于如何处理大数据,计算机科学界有两大方向:第一个方向是集中式计算,就是通过不断增加处理器的数量来增强单个计算机的计算能力,从而提高处理数据的速度。第二个方向是分布式计算,就是把一组计算机通过网络相互连接组成分散系统,然后将需要处理的大量数据分散成多个部分,交由分散系统内的计算机组同时计算,最后将这些计算结果合并得到最终的结果。尽管分散系统内的单个计算机的计算能力不强,但是由于每个计算机只计算一部分数据,而且是多台计算机同时计算,所以就分散系统而言,处理数据的速度会远高于单个计算机。
过去,分布式计算理论比较复杂,技术实现比较困难,因此在处理大数据方面,集中式计算一直是主流解决方案。IBM的大型机就是集中式计算的典型硬件,很多银行和政府机构都用它处理大数据。不过,对于当时的互联网公司来说,IBM的大型机的价格过于昂贵。因此,互联网公司的把研究方向放在了可以使用在廉价计算机上的分布式计算上。
服务器集群(Server Cluster)
服务器集群是一种提升服务器整体计算能力的解决方案。它是由互相连接在一起的服务器群所组成的一个并行式或分布式系统。服务器集群中的服务器运行同一个计算任务。因此,从外部看,这群服务器表现为一台虚拟的服务器,对外提供统一的服务。
尽管单台服务器的运算能力有限,但是将成百上千的服务器组成服务器集群后,整个系统就具备了强大的运算能力,可以支持大数据分析的运算负荷。Google,Amazon,阿里巴巴的计算中心里的服务器集群都达到了5000台服务器的规模。
大数据的技术基础:MapReduce、Google File System和BigTable
2003年到2004年间,Google发表了MapReduce、GFS(Google File System)和BigTable三篇技术论文,提出了一套全新的分布式计算理论。
MapReduce是分布式计算框架,GFS(Google File System)是分布式文件系统,BigTable是基于Google File System的数据存储系统,这三大组件组成了Google的分布式计算模型。
Google的分布式计算模型相比于传统的分布式计算模型有三大优势:首先,它简化了传统的分布式计算理论,降低了技术实现的难度,可以进行实际的应用。其次,它可以应用在廉价的计算设备上,只需增加计算设备的数量就可以提升整体的计算能力,应用成本十分低廉。最后,它被Google应用在Google的计算中心,取得了很好的效果,有了实际应用的证明。
后来,各家互联网公司开始利用Google的分布式计算模型搭建自己的分布式计算系统,Google的这三篇论文也就成为了大数据时代的技术核心。
主流的三大分布式计算系统:Hadoop,Spark和Storm
由于Google没有开源Google分布式计算模型的技术实现,所以其他互联网公司只能根据Google三篇技术论文中的相关原理,搭建自己的分布式计算系统。
Yahoo的工程师Doug Cutting和Mike Cafarella在2005年合作开发了分布式计算系统Hadoop。后来,Hadoop被贡献给了Apache基金会,成为了Apache基金会的开源项目。Doug Cutting也成为Apache基金会的XX,主持Hadoop的开发工作。
Hadoop采用MapReduce分布式计算框架,并根据GFS开发了HDFS分布式文件系统,根据BigTable开发了HBase数据存储系统。尽管和Google内部使用的分布式计算系统原理相同,但是Hadoop在运算速度上依然达不到Google论文中的标准。
不过,Hadoop的开源特性使其成为分布式计算系统的事实上的国际标准。Yahoo,Facebook,Amazon以及国内的百度,阿里巴巴等众多互联网公司都以Hadoop为基础搭建自己的分布式计算系统。
Spark也是Apache基金会的开源项目,它由加州大学伯克利分校的实验室开发,是另外一种重要的分布式计算系统。它在Hadoop的基础上进行了一些架构上的改良。Spark与Hadoop最大的不同点在于,Hadoop使用硬盘来存储数据,而Spark使用内存来存储数据,因此Spark可以提供超过Hadoop100倍的运算速度。但是,由于内存断电后会丢失数据,Spark不能用于处理需要长期保存的数据。
Storm是Twitter主推的分布式计算系统,它由BackType团队开发,是Apache基金会的孵化项目。它在Hadoop的基础上提供了实时运算的特性,可以实时的处理大数据流。不同于Hadoop和Spark,Storm不进行数据的收集和存储工作,它直接通过网络实时的接受数据并且实时的处理数据,然后直接通过网络实时的传回结果。
Hadoop,Spark和Storm是目前最重要的三大分布式计算系统,Hadoop常用于离线的复杂的大数据处理,Spark常用于离线的快速的大数据处理,而Storm常用于在线的实时的大数据处理。
http://blog.sina.com.cn/s/blog_631d3a630101nb77.html
分享到:
相关推荐
大数据全套视频教程。linux,hadoop,spark,storm,hive,flume,oozie,,hbase,zookeeper,mysql,mongodb,redis,多个项目实践等等,应有尽有。
大数据Hadoop权威指南,pdf,中英文版。第4版 The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing. The Apache Hadoop software library is a framework...
大数据Hadoop与Spark学习经验谈 大数据技术体系是一个庞大的知识领域,涵盖了数据源、数据收集、数据存储、批处理、交互式分析、流处理、数据挖掘、数据可视化等多个方面。想要掌握大数据技术,需要有系统化的学习...
大数据教程.zip 0.大数据的4个特征 0.大数据的三个发展方向 0.大数据涉及到的技术 1.初识Hadoop ...9.Storm,Spark Streaming 10.对外提供数据 11.机器学习 12.Spark SQL On Hadoop框架 最终的:大数据平台
本套视频教程主要针对2017年时的云计算与大数据技术进行讲解,重点涵盖了Hadoop、Storm、Kafka和Spark等核心组件的开发与应用。对于初学者来说,这是一份非常有价值的资源,旨在帮助他们从零基础快速建立起对大数据...
Hadoop还能够与其他数据处理工具集成,例如Spark、Storm等,实现数据的实时处理和分析。 Hadoop特点 Hadoop的主要特点是: * 分布式计算:Hadoop可以将计算任务分配到多个节点上,实现高性能的计算能力。 * 可...
综上所述,这份视频教程涵盖了云计算和大数据领域的核心技术和工具,包括Hadoop、Storm、Kafka以及Spark等,适合初学者入门学习。通过系统地学习这些技术,可以帮助学习者掌握大数据处理的基本原理和方法,为进一步...
大数据Hadoop常用组建安装配置手册、包含了Hadoop、Hive、HBase、Sqoop、Spark、Storm、Kafka等常用分布系统、查询、计算、分析组件的安装、配置详细步骤,共73页,大数据入门安装利器。
总之,Hadoop、Hive、HBase、Spark和Storm都是当前大数据领域不可或缺的技术组件。它们各自解决了不同的问题,同时也能够相互配合,共同构建起一个完整的大数据生态系统。对于希望构建高效、可扩展的数据处理平台的...
标题中的“基于大数据Hadoop的企业财务管理系统研究”表明了这个压缩包内容主要涉及的是如何利用大数据技术,特别是Hadoop框架,来构建和优化企业财务管理系统。Hadoop是Apache基金会的一个开源项目,它为企业数据...
本"大数据开发--hadoop全套学习课程"涵盖了大数据技术的多个关键组成部分,包括Hadoop2.x及其生态系统中的其他工具,如Hive、HBase、Flume、Storm和Spark。此外,还涉及到NoSQL数据库MongoDB和内存数据存储系统Redis...
这个名为"java+大数据相关框架实战项目(Hadoop, Spark, Storm, Flink).zip"的压缩包文件,包含了四个核心的大数据处理框架——Hadoop、Spark、Storm和Flink的实战项目源码,这些框架都是Java开发的,用于解决大规模...
大数据入门指南Hadoop,Hive,Spark,Storm,Flink,HBase,Kafka,Zookeeper,Flume。包含大数据学习路线、大数据技术栈思维导图、大数据常用软件安装指南、Hadoop、hive、spark等技术的环境搭建、命令实用、集群...
本资料"大数据Hadoop框架核心技术对比与实现"将深入探讨Hadoop的核心技术,并与其他大数据处理框架进行对比,帮助我们更好地理解和应用Hadoop。 一、Hadoop简介 Hadoop是基于Java开发的,由Apache软件基金会维护。...
适合人群:从事大数据处理和分析的技术人员,尤其是那些对Hadoop、Spark、Storm等大数据框架有深入了解需求的研发人员。 使用场景及目标:本文档适用于学习和掌握大数据技术的基本原理和实战技巧,帮助技术人员更好...
随着大数据技术的发展,除了Hadoop,还有其他如Spark、Storm、Flink和Impala等工具出现,它们在处理速度、实时性和易用性等方面提供了更多选择。例如,Spark提供内存计算,大大提高了数据处理速度;Storm则专用于...
VM、hadoop、Hive、HBase、Mahout、Sqoop、Spark、Storm、Kafka的安装部署手册
[大数据]Hadoop+Storm+Spark全套入门及实战视频教程-附件资源
目录: H3C大数据系列培训-HBase介绍 H3C大数据系列培训-HDFS介绍 H3C大数据系列培训-Hive介绍 H3C大数据系列培训-Kettle介绍 H3C大数据系列培训-MapReduce介绍 ...H3C大数据系列培训-Storm介绍