收藏 | 大数据应用及其解决方案(完整版)

目录

1. 大数据概述

1.1. 概述
1.2. 大数据定义
1.3. 大数据技术发展

2. 大数据应用

2.1. 大数据应用阐述
2.2. 大数据应用架构
2.3. 大数据行业应用

3. 大数据解决方案 

3.1. 大数据技术组成 

在这里我还是要推荐下我自己建的大数据学习交流qq裙: 957205962, 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份2018最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴

3.2. 大数据处理过程 

3.3. 大数据处理的核心技术-Hadoop 

3.4. 大数据处理技术发展前景

4. 基于基站大数据应用及案例 

4.1. 气象灾害应急短信发布平台 

4.2. 旅游客源分析

1

大数据概述

1.1. 概述

大数据,IT行业的又一次技术变革,大数据的浪潮汹涌而至,对国家治理、企业决策和个人生活都在产生深远的影响,并将成为云计算、物联网之后信息技术产业领域又一重大创新变革。未来的十年将是一个“大数据”引领的智慧科技的时代、随着社交网络的逐渐成熟,移动带宽迅速提升、云计算、物联网应用更加丰富、更多的传感设备、移动终端接入到网络,由此而产生的数据及增长速度将比历史上的任何时期都要多、都要快。

数据技术发展历史如图一所示:

 

收藏 | 大数据应用及其解决方案(完整版)_第1张图片

 

1.2. 大数据定义

“大数据”是一个涵盖多种技术的概念,简单地说,是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。IBM将“大数据”理念定义为4个V,即大量化(Volume)、多样化(Variety)、快速化(Velocity)及由此产生的价值(Value)。如图二;

 

收藏 | 大数据应用及其解决方案(完整版)_第2张图片

 

要理解大数据这一概念,首先要从"大"入手,"大"是指数据规模,大数据一般指在10TB(1TB=1024GB)规模以上的数据量。大数据同过去的海量数据有所区别,其基本特征可以用4个V来总结(Vol-ume、Variety、Value和Veloc-ity),即体量大、多样性、价值密度低、速度快。

在这里我还是要推荐下我自己建的大数据学习交流qq裙: 957205962, 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份2018最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴
 

• 数据体量巨大。从TB级别,跃升到PB级别。

• 数据类型繁多,如前文提到的网络日志、视频、图片、地理位置信息,等等。

• 价值密度低。以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒。

• 处理速度快。1秒定律。最后这一点也是和传统的数据挖掘技术有着本质的不同。物联网、云计算、移动互联网、车联网、手机、平板电脑、PC以及遍布地球各个角落的各种各样的传感器,无一不是数据来源或者承载的方式。

大数据技术是指从各种各样类型的巨量数据中,快速获得有价值信息的技术。解决大数据问题的核心是大数据技术。目前所说的"大数据"不仅指数据本身的规模,也包括采集数据的工具、平台和数据分析系统。大数据研发目的是发展大数据技术并将其应用到相关领域,通过解决巨量数据处理问题促进其突破性发展。因此,大数据时代带来的挑战不仅体现在如何处理巨量数据从中获取有价值的信息,也体现在如何加强大数据技术研发,抢占时代发展的前沿。

1.3. 大数据技术发展

大数据技术描述了一种新一代技术和构架,用于以很经济的方式、以高速的捕获、发现和分析技术,从各种超大规模的数据中提取价值,而且未来急剧增长的数据迫切需要寻求新的处理技术手段。如图三所示:

 

收藏 | 大数据应用及其解决方案(完整版)_第3张图片

 

在“大数据”(Big data)时代,通过互联网、社交网络、物联网,人们能够及时全面地获得大信息。同时,信息自身存在形式的变化与演进,也使得作为信息载体的数据以远超人们想象的速度迅速膨胀。

云时代的到来使得数据创造的主体由企业逐渐转向个体,而个体所产生的绝大部分数据为图片、文档、视频等非结构化数据。信息化技术的普及使得企业更多的办公流程通过网络得以实现,由此产生的数据也以非结构化数据为主。预计到2012年,非结构化数据将达到互联网整个数据量的75%以上。用于提取智慧的“大数据”,往往是这些非结构化数据。传统的数据仓库系统、BI、链路挖掘等应用对数据处理的时间要求往往以小时或天为单位。但“大数据”应用突出强调数据处理的实时性。在线个性化推荐、股票交易处理、实时路况信息等数据处理时间要求在分钟甚至秒级。

全球技术研究和咨询公司Gartner将“大数据”技术列入2012年对众多公司和组织机构具有战略意义的十大技术与趋势之一,而其他领域的研究,如云计算、下一代分析、内存计算等也都与“大数据”的研究相辅相成。Gartner在其新兴技术成熟度曲线中将“大数据”技术视为转型技术,这意味着“大数据”技术将在未来3—5年内进入主流。

而 “大数据”的多样性决定了数据采集来源的复杂性,从智能传感器到社交网络数据,从声音图片到在线交易数据,可能性是无穷无尽的。选择正确的数据来源并进行交叉分析可以为企业创造最显著的利益。随着数据源的爆发式增长,数据的多样性成为“大数据”应用亟待解决的问题。例如如何实时地及通过各种数据库管理系统来安全地访问数据,如何通过优化存储策略,评估当前的数据存储技术并改进、加强数据存储能力,最大限度地利用现有的存储投资。从某种意义上说,数据将成为企业的核心资产。

“大数据”不仅是一场技术变革,更是一场商业模式变革。在“大数据”概念提出之前,尽管互联网为传统企业提供了一个新的销售渠道,但总体来看,二者平行发展,鲜有交集。我们可以看到,无论是Google通过分析用户个人信息,根据用户偏好提供精准广告,还是Facebook将用户的线下社会关系迁移在线上,构造一个半真实的实名帝国,但这些商业和消费模式仍不能脱离互联网,传统企业仍无法嫁接到互联网中。同时,传统企业通过传统的用户分析工具却很难获得大范围用户的真实需求。

企业从大规模制造过渡到大规模定制,必须掌握用户的需求特点。在互联网时代,这些需求特征往往是在用户不经意的行为中透露出来的。通过对信息进行关联、参照、聚类、分类等方法分析,才能得到答案。

“大数据”在互联网与传统企业间建立一个交集。它推动互联网企业融合进传统企业的供应链,并在传统企业种下互联网基因。传统企业与互联网企业的结合,网民和消费者的融合,必将引发消费模式、制造模式、管理模式的巨大变革。

大数据正成为IT行业全新的制高点,各企业和组织纷纷助推大数据的发展,相关技术呈现百花齐放局面,并在互联网应用领域崭露头角,具体情况如下图四所示:

 

收藏 | 大数据应用及其解决方案(完整版)_第4张图片

 

大数据将带来巨大的技术和商业机遇,大数据分析挖掘和利用将为企业带来巨大的商业价值,而随着应用数据规模急剧增加,传统计算面临严重挑战,大规模数据处理和行业应用需求日益增加和迫切出现越来越多的大规模数据处理应用需求,传统系统难以提供足够的存储和计算资源进行处理,云计算技术是最理想的解决方案。调查显示:目前,IT专业人员对云计算中诸多关键技术最为关心的是大规模数据并行处理技术大数据并行处理没有通用和现成的解决方案对于应用行业来说,云计算平台软件、虚拟化软件都不需要自己开发,但行业的大规模数据处理应用没有现成和通用的软件,需要针对特定的应用需求专门开发,涉及到诸多并行化算法、索引查询优化技术研究、以及系统的设计实现,这些都为大数据处理技术的发展提供了巨大的驱动力。

2

在这里我还是要推荐下我自己建的大数据学习交流qq裙: 957205962, 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份2018最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴
 

大数据应用

2.1. 大数据应用阐述

大数据能做什么?我们那么多地方探讨大数据,无非总结下来就做三件事:

第一,对信息的理解。你发的每一张图片、每一个新闻、每一个广告,这些都是信息,你对这个信息的理解是大数据重要的领域。

第二,用户的理解,每个人的基本特征,你的潜在的特征,每个用户上网的习惯等等,这些都是对用户的理解。

第三,关系。关系才是我们的核心,信息与信息之间的关系,一条微博和另外一条微博之间的关系,一个广告和另外一个广告的关系。一条微博和一个视频之间的关系,这些在我们肉眼去看的时候是相对简单的。

比如有条微博说这两天朝鲜绑架我们船的事,那条微博也大概是谈这件事的。人眼一眼就能看出来。但是用机器怎么能看出来这是一件事,以及他们之间的因果关 系,这是很有难度的。然后就是用户与用户之间的关系。哪些人你愿意收听,是你的朋友,哪些是你感兴趣的领域,你是一个音乐达人,你是一个吃货,那个用户也 是一个吃货,你愿意收听他。这就是用户与用户之间的关系理解。还有用户与信息之间的理解,就是你对哪一类型的微博感兴趣,你对哪一类型的信息感兴趣,如果 牵扯到商业化,你对哪一类的广告或者商品感兴趣。其实就是用户与信息之间的关系,他无非是做这件事。

 

收藏 | 大数据应用及其解决方案(完整版)_第5张图片

 

大数据说的那么悬,其实主要是做三件事:对用户的理解、对信息的理解、对关系的理解。如果我们在这三件事之间还要提一件事的话,一个叫趋势。 他也是关系的一种变种,只是关系稍微远一点,情感之间的分析,还有我们政府部门做的舆情监控。他可以监控大规模的数据,可以分析出人的动向。在美国的好莱 坞,这两年也是基于FACEBOOK和TIWTTER的数据来预测即将上映的电影的票房。他也是一个趋势的分析,只是我们把这个趋势提前来。核心就是这三件事。

2.2. 大数据应用架构

 

收藏 | 大数据应用及其解决方案(完整版)_第6张图片

 

2.3. 大数据行业应用

2.3.1. 医疗行业

1. Seton Healthcare是采用IBM最新沃森技术医疗保健内容分析预测的首个客户。该技术允许企业找到大量病人相关的临床医疗信息,通过大数据处理,更好地分析病人的信息。

2. 在加拿大多伦多的一家医院,针对早产婴儿,每秒钟有超过3000次的数据读取。通过这些数据分析,医院能够提前知道哪些早产儿出现问题并且有针对性地采取措施,避免早产婴儿夭折。

3. 它让更多的创业者更方便地开发产品,比如通过社交网络来收集数据的健康类App。也许未来数年后,它们搜集的数据能让医生给你的诊断变得更为精确,比方说不是通用的成人每日三次一次一片,而是检测到你的血液中药剂已经代谢完成会自动提醒你再次服药。

2.3.2. 能源行业

1. 智能电网现在欧洲已经做到了终端,也就是所谓的智能电表。在德国,为了鼓励利用太阳能,会在家庭安装太阳能,除了卖电给你,当你的太阳能有多余电的时候还可以买回来。通过电网收集每隔五分钟或十分钟收集一次数据,收集来的这些数据可以用来预测客户的用电习惯等,从而推断出在未来2~3个月时间里,整个电网大概需要多少电。有了这个预测后,就可以向发电或者供电企业购买一定数量的电。因为电有点像期货一样,如果提前买就会比较便宜,买现货就比较贵。通过这个预测后,可以降低采购成本。

2. 维斯塔斯风力系统,依靠的是BigInsights软件和IBM超级计算机,然后对气象数据进行分析,找出安装风力涡轮机和整个风电场最佳的地点。利用大数据,以往需要数周的分析工作,现在仅需要不足1小时便可完成。

2.3.3. 通信行业

1. XO Communications通过使用IBM SPSS预测分析软件,减少了将近一半的客户流失率。XO现在可以预测客户的行为,发现行为趋势,并找出存在缺陷的环节,从而帮助公司及时采取措施,保留客户。此外,IBM新的Netezza网络分析加速器,将通过提供单个端到端网络、服务、客户分析视图的可扩展平台,帮助通信企业制定更科学、合理决策。

2. 电信业者透过数以千万计的客户资料,能分析出多种使用者行为和趋势,卖给需要的企业,这是全新的资料经济。

3. 中国移动通过大数据分析,对企业运营的全业务进行针对性的监控、预警、跟踪。系统在第一时间自动捕捉市场变化,再以最快捷的方式推送给指定负责人,使他在最短时间内获知市场行情。

4. NTT docomo把手机位置信息和互联网上的信息结合起来,为顾客提供附近的餐饮店信息,接近末班车时间时,提供末班车信息服务。

2.3.4. 零售业

1. "我们的某个客户,是一家领先的专业时装零售商,通过当地的百货商店、网络及其邮购目录业务为客户提供服务。公司希望向客户提供差异化服务,如何定位公司的差异化,他们通过从 Twitter 和 Facebook 上收集社交信息,更深入的理解化妆品的营销模式,随后他们认识到必须保留两类有价值的客户:高消费者和高影响者。希望通过接受免费化妆服务,让用户进行口碑宣传,这是交易数据与交互数据的完美结合,为业务挑战提供了解决方案。"Informatica的技术帮助这家零售商用社交平台上的数据充实了客户主数据,使他的业务服务更具有目标性。

2. 零售企业也监控客户的店内走动情况以及与商品的互动。它们将这些数据与交易记录相结合来展开分析,从而在销售哪些商品、如何摆放货品以及何时调整售价上给出意见,此类方法已经帮助某领先零售企业减少了17%的存货,同时在保持市场份额的前提下,增加了高利润率自有品牌商品的比例。

3

大数据解决方案

3.1. 大数据技术组成

大数据技术由四种技术构成,它们包括:

3.1.1. 分析技术

分析技术意味着对海量数据进行分析以实时得出答案,由于大数据的特殊性,大数据分析技术还处于发展阶段,老技术会日趋完善,新技术会更多出现。大数据分析技术涵盖了以下的的五个方面

3.1.1.1. 可视化分析

数据可视化无论对于普通用户或是数据分析专家,都是最基本的功能。数据图像化可以让数据自己说话,让用户直观的感受到结果。

3.1.1.2. 数据挖掘算法

图像化是将机器语言翻译给人看,而数据挖掘就是机器的母语。分割、集群、孤立点分析还有各种各样五花八门的算法让我们精炼数据,挖掘价值。这些算法一定要能够应付大数据的量,同时还具有很高的处理速度。

3.1.1.3. 预测分析能力

数据挖掘可以让分析师对数据承载信息更快更好地消化理解,进而提升判断的准确性,而预测性分析可以让分析师根据图像化分析和数据挖掘的结果做出一些前瞻性判断。

3.1.1.4. 语义引擎

非结构化数据的多元化给数据分析带来新的挑战,我们需要一套工具系统的去分析,提炼数据。语义引擎需要设计到有足够的人工智能以足以从数据中主动地提取信息。

3.1.1.5. 数据质量和数据管理

数据质量与管理是管理的最佳实践,透过标准化流程和机器对数据进行处理可以确保获得一个预设质量的分析结果。

我们知道大数据分析技术最初起源于互联网行业。网页存档、用户点击、商品信息、用户关系等数据形成了持续增长的海量数据集。这些大数据中蕴藏着大量可以用于增强用户体验、提高服务质量和开发新型应用的知识,而如何高效和准确的发现这些知识就基本决定了各大互联网公司在激烈竞争环境中的位置。首先,以Google为首的技术型互联网公司提出了MapReduce的技术框架,利用廉价的PC服务器集群,大规模并发处理批量事务。

利用文件系统存放非结构化数据,加上完善的备份和容灾策略,这套经济实惠的大数据解决方案与之前昂贵的企业小型机集群+商业数据库方案相比,不仅没有丢失性能,而且还赢在了可扩展性上。之前,我们在设计一个数据中心解决方案的前期,就要考虑到方案实施后的可扩展性。通常的方法是预估今后一段时期内的业务量和数据量,加入多余的计算单元(CPU)和存储,以备不时只需。

这样的方式直接导致了前期一次性投资的巨大,并且即使这样也依然无法保证计算需求和存储超出设计量时的系统性能。而一旦需要扩容,问题就会接踵而来。首先是商业并行数据库通常需要各节点物理同构,也就是具有近似的计算和存储能力。而随着硬件的更新,我们通常加入的新硬件都会强于已有的硬件。这样,旧硬件就成为了系统的瓶颈。为了保证系统性能,我们不得不把旧硬件逐步替换掉,经济成本损失巨大。其次,即使是当前最强的商业并行数据库,其所能管理的数据节点也只是在几十或上百这个数量级,这主要是由于架构上的设计问题,所以其可扩展性必然有限。而MapReduce+GFS框架,不受上述问题的困扰。需要扩容了,只需增加个机柜,加入适当的计算单元和存储,集群系统会自动分配和调度这些资源,丝毫不影响现有系统的运行

3.1.2. 存储数据库

在这里我还是要推荐下我自己建的大数据学习交流qq裙: 957205962, 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份2018最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴

存储数据库(In-Memory Databases)让信息快速流通,大数据分析经常会用到存储数据库来快速处理大量记录的数据流通。比方说,它可以对某个全国性的连锁店某天的销售记录进行分析,得出某些特征进而根据某种规则及时为消费者提供奖励回馈。

但传统的关系型数据库严格的设计定式、为保证强一致性而放弃性能、可扩展性差等问题在大数据分析中被逐渐暴露。随之而来,NoSQL数据存储模型开始风行。NoSQL,也有人理解为Not Only SQL,并不是一种特定的数据存储模型,它是一类非关系型数据库的统称。其特点是:没有固定的数据表模式、可以分布式和水平扩展。NoSQL并不是单纯的反对关系型数据库,而是针对其缺点的一种补充和扩展。典型的NoSQL数据存储模型有文档存储、键-值存储、图存储、对象数据库、列存储等

NoSQL数据库是一种建立在云平台的新型数据处理模式,NoSQL在很多情况下又叫做云数据库。由于其处理数据的模式完全是分布于各种低成本服务器和存储磁盘,因此它可以帮助网页和各种交互性应用快速处理过程中的海量数据。它为Zynga、AOL、Cisco以及其它一些企业提供网页应用支持。正常的数据库需要将数据进行归类组织,类似于姓名和帐号这些数据需要进行结构化和标签化。但是NoSQL数据库则完全不关心这些,它能处理各种类型的文档。

在处理海量数据同时请求时,它也不会有任何问题。比方说,如果有1000万人同时登录某个Zynga游戏,它会将这些数据分布于全世界的服务器并通过它们来进行数据处理,结果与1万人同时在线没什么两样。现今有多种不同类型的NoSQL模式。商业化的模式如Couchbase、10gen的mongoDB以及Oracle的NoSQL;开源免费的模式如CouchDB和Cassandra;还有亚马逊最新推出的NoSQL云服务。

3.1.3. 分布式计算技术

分布式计算结合了NoSQL与实时分析技术,如果想要同时处理实时分析与NoSQL数据功能,那么你就需要分布式计算技术。分布式技术结合了一系列技术,可以对海量数据进行实时分析。更重要的是,它所使用的硬件非常便宜,因而让这种技术的普及变成可能。SGI的Sunny Sundstrom解释说,通过对那些看起来没什么关联和组织的数据进行分析,我们可以获得很多有价值的结果。比如说可以分发现一些新的模式或者新的行为。运用分布式计算技术,银行可以从消费者的一些消费行为和模式中识别网上交易的欺诈行为。

分布式计算技术让不可能变成可能,分布式计算技术正引领着将不可能变为可能。Skybox Imaging就是一个很好的例子。这家公司通过对卫星图片的分析得出一些实时结果,比如说某个城市有多少可用停车空间,或者某个港口目前有多少船只。它们将这些实时结果卖给需要的客户。没有这个技术,要想快速便宜的分析这么大量卫星图片数据将是不可能的。如图五所示:

 

收藏 | 大数据应用及其解决方案(完整版)_第7张图片

 

分布式计算技术是Google的核心,也是Yahoo的基础,目前分布式计算技术是基于Google创建的技术,但是却最新由Yahoo所建立。Google总共发表了两篇论文,2004年发表的叫做MapReduce的论文介绍了如何在多计算机之间进行数据处理;另一篇于2003年发表,主要是关于如何在多服务器上存储数据。来自于Yahoo的工程师Doug Cutting在读了这两篇论文后建立了分布式计算平台,以他儿子的玩具大象命名。如图六所示

 

收藏 | 大数据应用及其解决方案(完整版)_第8张图片

 

而Hadoop作为一个重量级的分布式处理开源框架已经在大数据处理领域有所作为

3.2. 大数据处理过程

3.2.1. 采集

大数据的采集是指利用多个数据库来接收发自客户端(Web、App或者传感器形式等)的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。比如,电商会使用传统的关系型数据库MySQL和Oracle等来存储每一笔事务数据,除此之外,Redis和MongoDB这样的NoSQL数据库也常用于数据的采集。

在大数据的采集过程中,其主要特点和挑战是并发数高,因为同时有可能会有成千上万的用户来进行访问和操作,比如火车票售票网站和淘宝,它们并发的访问量在峰值时达到上百万,所以需要在采集端部署大量数据库才能支撑。并且如何在这些数据库之间进行负载均衡和分片的确是需要深入的思考和设计。

3.2.2. 导入/预处理

虽然采集端本身会有很多数据库,但是如果要对这些海量数据进行有效的分析,还是应该将这些来自前端的数据导入到一个集中的大型分布式数据库,或者分布式存储集群,并且可以在导入基础上做一些简单的清洗和预处理工作。也有一些用户会在导入时使用来自Twitter的Storm来对数据进行流式计算,来满足部分业务的实时计算需求。

导入与预处理过程的特点和挑战主要是导入的数据量大,每秒钟的导入量经常会达到百兆,甚至千兆级别。

3.2.3. 统计/分析

统计与分析主要利用分布式数据库,或者分布式计算集群来对存储于其内的海量数据进行普通的分析和分类汇总等,以满足大多数常见的分析需求,在这方面,一些实时性需求会用到EMC的GreenPlum、Oracle的Exadata,以及基于MySQL的列式存储Infobright等,而一些批处理,或者基于半结构化数据的需求可以使用Hadoop。

统计与分析这部分的主要特点和挑战是分析涉及的数据量大,其对系统资源,特别是I/O会有极大的占用。

3.2.4. 挖掘

与前面统计和分析过程不同的是,数据挖掘一般没有什么预先设定好的主题,主要是在现有数据上面进行基于各种算法的计算,从而起到预测(Predict)的效果,从而实现一些高级别数据分析的需求。比较典型算法有用于聚类的Kmeans、用于统计学习的SVM和用于分类的NaiveBayes,主要使用的工具有Hadoop的Mahout等。该过程的特点和挑战主要是用于挖掘的算法很复杂,并且计算涉及的数据量和计算量都很大,常用数据挖掘算法都以单线程为主。

整个大数据处理的普遍流程至少应该满足这四个方面的步骤,才能算得上是一个比较完整的大数据处理

3.3. 大数据处理的核心技术-Hadoop

大数据技术涵盖了硬软件多个方面的技术,目前各种技术基本都独立存在于存储、开发、平台架构、数据分析挖掘的各个相对独立的领域。这一部分主要介绍和分析大数据处理的核心技术——Hadoop。

3.3.1. Hadoop的组成

在这里我还是要推荐下我自己建的大数据学习交流qq裙: 957205962, 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份2018最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴

大数据不同于传统类型的数据,它可能由TB甚至PB级信息组成,既包括结构化数据,也包括文本、多媒体等非结构化数据。这些数据类型缺乏一致性,使得标准存储技术无法对大数据进行有效存储,而且我们也难以使用传统的服务器和SAN方法来有效地存储和处理庞大的数据量。这些都决定了“大数据”需要不同的处理方法,而Hadoop目前正是广泛应用的大数据处理技术。Hadoop是一个基于Java的分布式密集数据处理和数据分析的软件框架。该框架在很大程度上受Google在2004年白皮书中阐述的MapReduce的技术启发。Hadoop主要组件包含如图七:

 

收藏 | 大数据应用及其解决方案(完整版)_第9张图片

 

Hadoop Common:通用模块,

• 支持其他Hadoop模块

• Ha d o o p Di s t r i b u t e d Fi l eSystem(HDFS):分布式文件系统,用以提供高流量的应用数据访问

• Hadoop YARN:支持工作调度和集群资源管理的框架

• HadoopMapReduce:针对大数据的、灵活的并行数据处理框架

其他相关的模块还有:

• ZooKeeper:高可靠性分布式协调系统

• Oozie:负责MapReduce作业调度

• HBase:可扩展的分布式数据库,可以将结构性数据存储为大表

• Hive:构建在MapRudece之上的数据仓库软件包

• Pig:架构在Hadoop之上的高级数据处理层

在Hadoop框架中,最底层的HDFS存储Hadoop集群中所有存储节点上的文件。HDFS的架构是基于一组特定的节点构建的(如图八),

 

收藏 | 大数据应用及其解决方案(完整版)_第10张图片

 

这些节点包括一个NameNode和大量的DataNode。存储在HDFS中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。这与传统的RAID架构大不相同。块的大小(通常为64MB)和复制的块数量在创建文件时由客户机决定。NameNode可以控制所有文件操作。HDFS内部的所有通信都基于标准的TCP/IP协议。NameNode在HDFS内部提供元数据服务,负责管理文件系统名称空间和控制外部客户机的访问。它决定是否将文件映射到DataNode上的复制块上。DataNode通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。H a d o o p M a p R e d u c e 是Google MapReduce的开源实现。MapReduce技术是一种简洁的并行计算模型,它在系统层面解决了扩展性、容错性等问题,通过接受用户编写的Map函数和Reduce函数,自动地在可伸缩的大规模集群上并行执行,从而可以处理和分析大规模的数据[6]。Hadoop提供了大量的接口和抽象类,从而为Hadoop应用程序开发人员提供许多工具,可用于调试和性能度量等。在H a d o o p 应用实例中,一个代表客户机在单个主系统上启动Ma pRe d u c e的应用程序称为JobTracker。类似于NameNode,它是Ha d o o p 集群中唯一负责控制MapReduce应用程序的系统。在应用程序提交之后,将提供包含在HDFS中的输入和输出目录。JobTr a cke r使用文件块信息(物理量和位置)确定如何创建其他TaskTracker从属任务。MapReduce应用程序被复制到每个出现输入文件块的节点,将为特定节点上的每个文件块创建一个唯一的从属任务。每个TaskTracker将状态和完成信息报告给JobTracker。如图显示一个示例集群中的工作分布,如图九:

 

收藏 | 大数据应用及其解决方案(完整版)_第11张图片

 

3.3.2. Hadoop的优点:

Hadoop能够使用户轻松开发和运行处理大数据的应用程序。它主要有以下几个优点:

3.3.2.1. 高可靠性。

Hadoop按位存储和处理数据的能力值得人们信赖。

3.3.2.2. 高扩展性。

Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

3.3.2.3. 高效性。

Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。

3.3.2.4. 高容错性。

Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。Hadoop带有用Java语言编写的框架,因此运行在Linux生产平台上是非常理想的。Hadoop上的应用程序也可以使用其他语言编写,比如C++。

3.3.3. Hadoop的不足

Hadoop作为一个处理大数据的软件框架,虽然受到众多商业公司的青睐,但是其自身的技术特点也决定了它不能完全解决大数据问题。在当前Hadoop的设计中,所有的metadata操作都要通过集中式的NameNode来进行,NameNode有可能是性能的瓶颈。当前Hadoop单一NameNode、单一Jobtracker的设计严重制约了整个Hadoop可扩展性和可靠性。首先,NameNode和JobTracker是整个系统中明显的单点故障源。再次,单一NameNode的内存容量有限,使得Hadoop集群的节点数量被限制到2000个左右,能支持的文件系统大小被限制在10-50PB,最多能支持的文件数量大约为1.5亿左右。实际上,有用户抱怨其集群的NameNode重启需要数小时,这大大降低了系统的可用性。随着Hadoop被广泛使用,面对各式各样的需求,人们期望Hadoop能提供更多特性,比如完全可读写的文件系统、Snapshot、Mirror等等。这些都是当前版本的Hadoop不支持,但是用户又有强烈需求的。

3.3.4. 主要商业性“大数据”处理方案

“大数据”被科技企业看作是云计算之后的另一个巨大商机,包括IBM、谷歌、亚马逊和微软在内的一大批知名企业纷纷掘金这一市场。此外,很多初创企业也开始加入到大数据的淘金队伍中。Hadoop是非结构数据库的代表,低成本、高扩展性和灵活性等优势使其成为各种面向大数据处理分析的商业服务方案的首选。Oracle、IBM、Microsoft三大商业数据提供商是Hadoop的主要支持者。很多知名企业都以Hadoop技术为基础提供自己的商业性大数据解决方案。这一部分主要介绍以Hadoop为基础的典型商业性大数据解决方案。

3.3.2.5. IBM InfoSphere大数据分析平台

I B M于2 0 1 1 年5 月推出的InfoSphere大数据分析平台是一款定位为企业级的大数据分析产品。该产品包括BigInsight s和Streams,二者互补,Biglnsights基于Hadoop,对大规模的静态数据进行分析,它提供多节点的分布式计算,可以随时增加节点,提升数据处理能力。St reams采用内存计算方式分析实时数据。它们将包括HadoopMapReduce在内的开源技术紧密地与IBM系统集成起来。研究Hado

你可能感兴趣的:(大数据)