大家好,又见面了,我是你们的朋友全栈君。
1
大数据概述
1.1. 概述
大数据,IT行业的又一次技术变革,大数据的浪潮汹涌而至,对国家治理、企业决策和个人生活都在产生深远的影响,并将成为云计算、物联网之后信息技术产业领域又一重大创新变革。未来的十年将是一个“大数据”引领的智慧科技的时代、随着社交网络的逐渐成熟,移动带宽迅速提升、云计算、物联网应用更加丰富、更多的传感设备、移动终端接入到网络,由此而产生的数据及增长速度将比历史上的任何时期都要多、都要快。
数据技术发展历史如图一所示:
图一
1.2. 大数据定义
“大数据”是一个涵盖多种技术的概念,简单地说,是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。IBM将“大数据”理念定义为4个V,即大量化(Volume)、多样化(Variety)、快速化(Velocity)及由此产生的价值(Value)。如图二;
图二
要理解大数据这一概念,首先要从”大”入手,”大”是指数据规模,大数据一般指在10TB(1TB=1024GB)规模以上的数据量。大数据同过去的海量数据有所区别,其基本特征可以用4个V来总结(Vol-ume、Variety、Value和Veloc-ity),即体量大、多样性、价值密度低、速度快。
• 数据体量巨大。从TB级别,跃升到PB级别。
• 数据类型繁多,如前文提到的网络日志、视频、图片、地理位置信息,等等。
• 价值密度低。以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒。
• 处理速度快。1秒定律。最后这一点也是和传统的数据挖掘技术有着本质的不同。物联网、云计算、移动互联网、车联网、手机、平板电脑、PC以及遍布地球各个角落的各种各样的传感器,无一不是数据来源或者承载的方式。
大数据技术是指从各种各样类型的巨量数据中,快速获得有价值信息的技术。解决大数据问题的核心是大数据技术。目前所说的”大数据”不仅指数据本身的规模,也包括采集数据的工具、平台和数据分析系统。大数据研发目的是发展大数据技术并将其应用到相关领域,通过解决巨量数据处理问题促进其突破性发展。因此,大数据时代带来的挑战不仅体现在如何处理巨量数据从中获取有价值的信息,也体现在如何加强大数据技术研发,抢占时代发展的前沿。
1.3. 大数据技术发展
大数据技术描述了一种新一代技术和构架,用于以很经济的方式、以高速的捕获、发现和分析技术,从各种超大规模的数据中提取价值,而且未来急剧增长的数据迫切需要寻求新的处理技术手段。如图三所示:
图三
在“大数据”(Big data)时代,通过互联网、社交网络、物联网,人们能够及时全面地获得大信息。同时,信息自身存在形式的变化与演进,也使得作为信息载体的数据以远超人们想象的速度迅速膨胀。
云时代的到来使得数据创造的主体由企业逐渐转向个体,而个体所产生的绝大部分数据为图片、文档、视频等非结构化数据。信息化技术的普及使得企业更多的办公流程通过网络得以实现,由此产生的数据也以非结构化数据为主。预计到2012年,非结构化数据将达到互联网整个数据量的75%以上。用于提取智慧的“大数据”,往往是这些非结构化数据。传统的数据仓库系统、BI、链路挖掘等应用对数据处理的时间要求往往以小时或天为单位。但“大数据”应用突出强调数据处理的实时性。在线个性化推荐、股票交易处理、实时路况信息等数据处理时间要求在分钟甚至秒级。
全球技术研究和咨询公司Gartner将“大数据”技术列入2012年对众多公司和组织机构具有战略意义的十大技术与趋势之一,而其他领域的研究,如云计算、下一代分析、内存计算等也都与“大数据”的研究相辅相成。Gartner在其新兴技术成熟度曲线中将“大数据”技术视为转型技术,这意味着“大数据”技术将在未来3—5年内进入主流。
而 “大数据”的多样性决定了数据采集来源的复杂性,从智能传感器到社交网络数据,从声音图片到在线交易数据,可能性是无穷无尽的。选择正确的数据来源并进行交叉分析可以为企业创造最显著的利益。随着数据源的爆发式增长,数据的多样性成为“大数据”应用亟待解决的问题。例如如何实时地及通过各种数据库管理系统来安全地访问数据,如何通过优化存储策略,评估当前的数据存储技术并改进、加强数据存储能力,最大限度地利用现有的存储投资。从某种意义上说,数据将成为企业的核心资产。
“大数据”不仅是一场技术变革,更是一场商业模式变革。在“大数据”概念提出之前,尽管互联网为传统企业提供了一个新的销售渠道,但总体来看,二者平行发展,鲜有交集。我们可以看到,无论是Google通过分析用户个人信息,根据用户偏好提供精准广告,还是Facebook将用户的线下社会关系迁移在线上,构造一个半真实的实名帝国,但这些商业和消费模式仍不能脱离互联网,传统企业仍无法嫁接到互联网中。同时,传统企业通过传统的用户分析工具却很难获得大范围用户的真实需求。
企业从大规模制造过渡到大规模定制,必须掌握用户的需求特点。在互联网时代,这些需求特征往往是在用户不经意的行为中透露出来的。通过对信息进行关联、参照、聚类、分类等方法分析,才能得到答案。
“大数据”在互联网与传统企业间建立一个交集。它推动互联网企业融合进传统企业的供应链,并在传统企业种下互联网基因。传统企业与互联网企业的结合,网民和消费者的融合,必将引发消费模式、制造模式、管理模式的巨大变革。
大数据正成为IT行业全新的制高点,各企业和组织纷纷助推大数据的发展,相关技术呈现百花齐放局面,并在互联网应用领域崭露头角,具体情况如下图四所示:
图四
大数据将带来巨大的技术和商业机遇,大数据分析挖掘和利用将为企业带来巨大的商业价值,而随着应用数据规模急剧增加,传统计算面临严重挑战,大规模数据处理和行业应用需求日益增加和迫切出现越来越多的大规模数据处理应用需求,传统系统难以提供足够的存储和计算资源进行处理,云计算技术是最理想的解决方案。调查显示:目前,IT专业人员对云计算中诸多关键技术最为关心的是大规模数据并行处理技术大数据并行处理没有通用和现成的解决方案对于应用行业来说,云计算平台软件、虚拟化软件都不需要自己开发,但行业的大规模数据处理应用没有现成和通用的软件,需要针对特定的应用需求专门开发,涉及到诸多并行化算法、索引查询优化技术研究、以及系统的设计实现,这些都为大数据处理技术的发展提供了巨大的驱动力。
2
大数据应用
2.1. 大数据应用阐述
大数据能做什么?我们那么多地方探讨大数据,无非总结下来就做三件事:
第一,对信息的理解。你发的每一张图片、每一个新闻、每一个广告,这些都是信息,你对这个信息的理解是大数据重要的领域。
第二,用户的理解,每个人的基本特征,你的潜在的特征,每个用户上网的习惯等等,这些都是对用户的理解。
第三,关系。关系才是我们的核心,信息与信息之间的关系,一条微博和另外一条微博之间的关系,一个广告和另外一个广告的关系。一条微博和一个视频之间的关系,这些在我们肉眼去看的时候是相对简单的。
比如有条微博说这两天朝鲜绑架我们船的事,那条微博也大概是谈这件事的。人眼一眼就能看出来。但是用机器怎么能看出来这是一件事,以及他们之间的因果关 系,这是很有难度的。然后就是用户与用户之间的关系。哪些人你愿意收听,是你的朋友,哪些是你感兴趣的领域,你是一个音乐达人,你是一个吃货,那个用户也 是一个吃货,你愿意收听他。这就是用户与用户之间的关系理解。还有用户与信息之间的理解,就是你对哪一类型的微博感兴趣,你对哪一类型的信息感兴趣,如果 牵扯到商业化,你对哪一类的广告或者商品感兴趣。其实就是用户与信息之间的关系,他无非是做这件事。
大数据说的那么悬,其实主要是做三件事:对用户的理解、对信息的理解、对关系的理解。如果我们在这三件事之间还要提一件事的话,一个叫趋势。 他也是关系的一种变种,只是关系稍微远一点,情感之间的分析,还有我们政府部门做的舆情监控。他可以监控大规模的数据,可以分析出人的动向。在美国的好莱 坞,这两年也是基于FACEBOOK和TIWTTER的数据来预测即将上映的电影的票房。他也是一个趋势的分析,只是我们把这个趋势提前来。核心就是这三件事。
2.2. 大数据应用架构
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. 存储数据库
存储数据库(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就是一个很好的例子。这家公司通过对卫星图片的分析得出一些实时结果,比如说某个城市有多少可用停车空间,或者某个港口目前有多少船只。它们将这些实时结果卖给需要的客户。没有这个技术,要想快速便宜的分析这么大量卫星图片数据将是不可能的。如图五所示:
图五
分布式计算技术是Google的核心,也是Yahoo的基础,目前分布式计算技术是基于Google创建的技术,但是却最新由Yahoo所建立。Google总共发表了两篇论文,2004年发表的叫做MapReduce的论文介绍了如何在多计算机之间进行数据处理;另一篇于2003年发表,主要是关于如何在多服务器上存储数据。来自于Yahoo的工程师Doug Cutting在读了这两篇论文后建立了分布式计算平台,以他儿子的玩具大象命名。而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的组成
大数据不同于传统类型的数据,它可能由TB甚至PB级信息组成,既包括结构化数据,也包括文本、多媒体等非结构化数据。这些数据类型缺乏一致性,使得标准存储技术无法对大数据进行有效存储,而且我们也难以使用传统的服务器和SAN方法来有效地存储和处理庞大的数据量。这些都决定了“大数据”需要不同的处理方法,而Hadoop目前正是广泛应用的大数据处理技术。Hadoop是一个基于Java的分布式密集数据处理和数据分析的软件框架。该框架在很大程度上受Google在2004年白皮书中阐述的MapReduce的技术启发。Hadoop主要组件包含如图七:
图七
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的架构是基于一组特定的节点构建的(如图八),
图八
这些节点包括一个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。如图显示一个示例集群中的工作分布,如图九:
图九
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系统集成起来。研究Hadoop这样开源技术的人很多,但是IBM这次是真正将其变成了企业级的应用,针对不同的人员增加不同的价值。InfoSphereBigInsight s 1.3的存储和运算框架采用了开源的Ha d o o pMa pRe d u c e,同时针对Ha d o o p 框架进行了改造,采用了IBM特有的通用并行文件系统——GPFS。利用GPFS的目的是为了避免单点故障,保证可用性。BigInsights中还有两个分析产品——Cognos和SPSS,这两个分析产品在传统功能上加强了文本分析的功能,提供了一系列文本分析工具,并使用高级语言进行自定义规则,如文本格式转换等。目前BigInsights提供两种版本,一种是企业版(Enterprise Edition),用于企业级的大数据分析解决方案。另一种是基础版(Basic Edition),去掉了企业版中的大部分功能,用户可以免费下载,主要提供给开发人员和合作伙伴试用。St r e ams 最大的特点就是内存分析,利用多节点PC服务器的内存来处理大批量的数据分析请求。St reams的特点就是“小快灵”,数据是实时流动的,其分析反应速度可以控制在毫秒级别,而BigInsights的分析是批处理,反应速度无法同St reams相比。总体来说,二者的设计架构不同,也用于处理不同的大数据分析需求,并可以形成良好的互补。InfoSphere平台仅仅是IBM大数据解决方案中的一部分。IBM大数据平台包括4大部分:信息整合与治理组件、基于开源Apache Hadoop的框架而实现的Bi g I n s i g h t s 平台、加速器,以及包含可视化与发现、应用程序开发、系统管理的上层应用。通过IBM的解决方案可以看出,解决大数据问题不能仅仅依靠Hadoop。
3.3.2.6. Or a c l e Bi g Da t aApplianc
Oracle Big Data Appliance准确地说是一款硬件产品,添加了Hadoop装载器、应用适配器以及Or acle新的NoSQL数据库,主要目的是为了将非结构化数据加载到关系型数据库中去,并对软硬件的集成做了一些优化。Oracle BigData机包括开源Apache Hadoop、Oracle NoSQL数据库、Oracle数据集成Hadoop应用适配器、OracleHa d o o p 装载器、Op e n So u r c eDistribution of R、Oracle Linux和Oracle Java HotSpot虚拟机。它能够快速、便捷地与Oracle数据库11g、Oracle Exadata数据库云服务器和Oracle Exalytics商务智能云服务器集成。分析师和统计人员可以运行现有的R应用,并利用R客户端直接处理存储在Oracle数据库11g中的数据,从而极大地提高可扩展性、性能和安全性。
3.3.2.7. Mi c r o s o f t S QLServer
微软已经发布Hadoop Connectorfor SQL Se r ve r Pa r a l lel Dat aWarehouse和Hadoop Connectorfor SQL Ser ver社区技术预览版本的连接器。该连接器是双向的,用户可以在Hadoop和微软数据库服务器之间向前或者向后迁移数据。微软的SQL Server 2012将并入Hadoop分布式计算平台,微软还将把Hadoop引入Windows Server和Azure(微软的云服务)。
3.3.2.8. Sybase IQ
Sybase IQ是Sybase公司推出的特别为数据仓库设计的关系型数据库,添加了Hadoop的集成,并提供了MapReduce的API。相比于传统的“行式存储”的关系型数据库,Sybase IQ使用了独特的列式存储方式,在进行分析查询时,仅需读取查询所需的列,其垂直分区策略不仅能够支持大量的用户、大规模数据,还可以提交对商业信息的高速访问,其速度可达到传统的关系型数据库的百倍甚至千倍。
3.3.5. 其他“大数据”解决方案
“大数据”解决方案并非只有Hadoop一种,许多知名企业还提供了其他的解决方案。
3.3.2.9. EMC
EMC 提供了两种大数据存储方案,即Isilon和Atmos。Isilon能够提供无限的横向扩展能力,Atmos是一款云存储基础架构,在内容服务方面,Atmos是很好的解决方案。在数据分析方面,EMC提供的解决方案、提供的产品是Greenplum,Greenplum有两个产品,第一是GreenplumDatabase,GreenplumDatabase是大规模的并行成立的数据库,它可以管理、存储、分析PB量级的一些结构性数据,它下载的速度非常高,最高可以达到每小时10 T B,速度非常惊人。这是EMC可以提供给企业、政府,用来分析海量的数据。但是Gr e e n p l umDa t a b a s e面对的是结构化数据。很多数据超过9 0 % 是非结构化数据,E M C 有另外一个产品是GreenplumHD,GreenplumHD可以把非结构化的数据或者是半结构化的数据转换成结构化数据,然后让GreenplumDatabase去处理。
3.3.2.10. BigQuery
BigQu e r y是Go og l e 推出的一项We b服务,用来在云端处理大数据。该服务让开发者可以使用Go o g l e 的架构来运行SQL语句对超级大的数据库进行操作。BigQuery允许用户上传他们的超大量数据并通过其直接进行交互式分析,从而不必投资建立自己的数据中心。Google曾表示BigQuery引擎可以快速扫描高达70TB未经压缩处理的数据,并且可马上得到分析结果。大数据在云端模型具备很多优势,BigQuery服务无需组织提供或建立数据仓库。而BigQuery在安全性和数据备份服务方面也相当完善。免费帐号可以让用户每月访问高达100GB的数据,用户也可以付费使用额外查询和存储空间。
3.3.6. 大数据”与科技文献信息处理
“大数据”目前主要指医学、天文、地理、Web日志、多媒体信息等数据,鲜有提及文献信息。事实上,现在的科技文献信息日益凸显出“大数据”的特征,主要表现在以下几个方面:更新周期缩短;数量庞大;文献的类型多样;文献载体数字化;文献语种多样化;文献内容交叉;文献信息密度大。科技文献中所含的信息类型多样,既有结构性数据,也有非结构性文本和公式,如何利用“大数据”技术对文献内容进行分析,挖掘用户访问日志、评价反馈等数据的价值,为用户提供服务成为科技信息服务业急需思考和解决的问题。在科技文献信息处理中,文本分析技术、语义计算技术、数据安全需要与“大数据”解决方案结合起来考虑实施,这样才能更有效地提供知识服务。
3.4. 大数据处理技术发展前景
随着大数据时代的来临,应用越来越广,其发展前景是很光明的。
3.4.1. 大数据复杂度降低
大数据技术的落地将会有两个特点:一个是对MapReduce依赖越来越少,另外一个是会把Hadoop技术深入的应用到企业的软件架构中。对于第一个特点,像Cloudera的Impala和微软的PolyBase这样的软件会得到充分发展,他们绕开了MapReduce,直接对存在HDFS中的数据进行处理。对于第二个特点,大规模的使用Hadoop是个必然趋势,渐渐的就会形成行业的标准,进而成为更有价值的软件基础,而不仅是自己内部使用。
3.4.2. 大数据细分市场
大数据相关技术的发展,将会创造出一些新的细分市场。例如,以数据分析和处理为主的高级数据服务,将出现以数据分析作为服务产品提交的分析即服务(Analyze as a Service)业务;将多种信息整合管理,创造对大数据统一的访问和分析的组件产品;基于社交网络的社交大数据分析;甚至会出现大数据技能的培训市场,教授数据分析课程等。
3.4.3. 大数据开源
开源软件为大数据市场带来更多机会。与人们的传统理解不同,大数据市场开源软件的盛行不会抑制市场的商业机会,相反开源软件将会给基础架构硬件、应用程序开发工具、应用、服务等各个方面的相关领域带来更多的机会。
3.4.4. Hadoop将加速发展
做为大数据领域的代表技术,许多企业都把明年的计划聚焦在Hadoop之上。据预测,用户对Hadoop的优化将更注重硬件,同时,对企业友好的Hadoop技术市场将达到前所未有的高峰。从整体上说,不仅是Hadoop本身本会得到迅猛的发展,同时Hadoop在多个数据中心中的配置和无缝集成技术也将成为热门。Hadoop的专业知识正在飞速增长,但是这方面优秀的人才仍然很缺乏。基于SQL的Hadoop工具将会得到持续发展”。
3.4.5. 打包的大数据行业分析应用
随着大数据逐渐走向各个行业,基于行业的大数据分析应用需求也日益增长。未来几年中针对特定行业和业务流程的分析应用将会以预打包的形式出现,这将为大数据技术供应商打开新的市场。这些分析应用内容还会覆盖很多行业的专业知识,也会吸引大量行业软件开发公司的投入。
3.4.6. 大数据分析的革命性方法出现
在大数据分析上,将出现革命性的新方法。就像计算机和互联网一样,大数据可能是新一波技术革命。从前的很多算法和基础理论可能会产生理论级别的突破。
3.4.7. 大数据与云计算:深度融合
大数据处理离不开云计算技术,云计算为大数据提供弹性可扩展的基础设施支撑环境以及数据服务的高效模式,大数据则为云计算提供了新的商业价值,大数据技术与云计算技术必有更完美的结合。同样的,云计算、物联网、移动互联网等新兴计算形态,既是产生大数据的地方,也是需要大数据分析方法的领域。
3.4.8. 大数据一体机陆续发布
自云计算和大数据概念被提出后,针对该市场推出的软硬件一体化设备就层出不穷。在未来几年里,数据仓库一体机、NoSQL 一体机以及其它一些将多种技术结合的一体化设备将进一步快速发展。[page]
4
基于基站大数据应用及案例
4.1. 气象灾害应急短信发布平台
4.1.1. 概述
4.1.1.1. 项目背景
为有效预防、及时响应和处置气象灾害,保证气象灾害应急工作高效、有序进行,最大限度地减轻或者避免气象灾害造成的人员伤亡、财产损失以及对经济社会发展和生态环境保护产生的不利影响,将灾害信息及时通知相关人员,建设气象灾害应急短信发布平台。
4.1.1.2. 平台概述
本平台是利用手机进出特定小区需与交换机交换位置信息的特性,结合目前移动通信网络及短消息发布平台,实现在特定区域、特定时间对特定客户群,发送特定服务短信的个性化信息服务。
4.1.2. 平台建设特点与原则
4.1.2.1. 建设特点
平台具有以下特点:
• 针对性强:特定区域、特定时间、特定客群、特定服务短信,投放准确,不会影响特定区域外的用户;
• 收看率高:手机自动接收,收看率高,见效快,比传统媒体信息更深入用户;
• 发布便捷:客户通过网络可以直接申请发布信息,从申请到发布仅需几小时,可以及时修改;
• 成本低廉:定向发送有的放矢,平均成本更低廉。
4.1.2.2. 建设原则
• 标准化:
具有互操作性,可用性,可靠性,可扩充性,可管理性,建立一个开放式,遵循国际标准的网络系统。
• 先进性:
既要保证网络的先进性,同时也要兼顾技术的成熟性。
• 安全性:
对于安全性我们将通过对用户的区域划分,建议选用专用防火墙实现对本地资源的安全保护。
• 扩展性:
网络设计必须为今后的扩充留有足够的余地,以保护用户的投资,保证今后的网络扩充升级能力。
l 保护投资:
每个设备都进行严格的选型,在满足设计原则的功能前提下,提供最经济的设备配置方案。
• 可管理:
先进的网络管理可为多业务网络提供安全运行的基础。
4.1.2.3. 大数据管理平台特点
• 独特的云任务管理技术——使系统的并行效率提升显著、硬件资源被充分用于大数据处理,缩短处理时间、节约硬件成本。
• 独特的多层分布式缓存技术——使系统的吞吐量更大,运算性能更高,数据更加安全可靠。
• 双引擎技术——云计算引擎与传统计算引擎协同工作,使得业务支持类型更丰富、三方对接更方便、并实现了应用前端到后端的大数据处理以及秒级的响应速度。
• 独特的云目录管理技术——使得数据存储更完整,数据回收更灵活更即时,数据的近线存储更方便。
• 实用的监控体系——全面监控所有云节点、图形化的指标监控、完备的存活与性能告警、对于分析集群工作状态、性能瓶颈识别、故障分析提供实际数据支持。
• 方便快捷的安装——提供图形与命令行2种安装模式,适合本地与远程部署。部署操作基本自动化,适合于大规模集群的快速部署安装。
4.1.3. 平台整体架构
4.1.3.1. 建设原理
本平台是通过分析移动通讯过程中的各种信令过程,获得用户当前的位置信息。当用户的位置信息与业务选择发送的特定区域一致时,为用户发布业务定制的短信。为获得准确、全面的用户信息(当前位置信息和用户手机号),需要监控业务特定区域所属的MSC/VLR到周边的所有信令链路(即下面的拓扑图中双向箭头所对应的物理链路)。本项目使用的信令数据由信令监测系统定时提供。
移动通信网络部分拓扑图如下所示:
4.1.3.2. 平台总体设计
1. 平台总体结构
总体架构图
系统主要由信令处理子系统、短信发送子系统、管理子系统、大数据管理平台四部分组成。
• 信令处理子系统
本子系统经过复杂的信令分析和匹配,最终得到用户的手机号和当前位置信息,并将这些信息保存在内存数据库中,并同步到关系数据库中。
• 短信发送子系统
本子系统经过对用户手机号和位置信息的分析,以及与业务条件是否匹配,得到是否要给用户下发短信。如果要下发短信,短信业务应用系统将要下发的短信和用户手机号写入运营商的10086短信下发系统,由10086短信下发系统为用户下发信息。
• 大数据管理系统
存储与用户、位置相关的数据,供短信业务应用系统判断时使用。使系统的并行效率提升显著、硬件资源被充分用于大数据处理,缩短处理时间、节约硬件成本。
• 系统管理子系统
本服务提供人性化的远程登陆界面服务,为客户提供了用户管理、权限管理、日志管理、统计分析、数据配置等丰富功能。
气象灾害应急短信发布平台采用信令数据接入、数据处理整合、页面展示三层架构的方式实现。
信令数据接入主要获取信令数据,并对数据进行预处理。由信令监测平台对外提供信令数据,气象灾害应急短信发布平台中的信令处理子系统通过网管DCN网络与信令监测系统对接,从而实现气象灾害应急短信发布平台周期性地从信令监测系统批量采集信令数据的功能,并对原始性数据进行预处理。
数据处理采用专用数据统计算法和数据发掘分析技术,根据实时采集到的信令接口数据,及定期更新的基站、小区、场所及号码段数据,综合分析各个视角的数据。
页面展现层具备将各种统计分析结果进行图表化、图形化的展示,并可以多种格式导出。
4.1.3.3. 平台技术思路
平台本着可靠稳定的宗旨进行整个系统的技术构建,主要遵循以下技术思路:
• 扩展性原则:平台具有高可扩展性,既能适应移动通信网络结构、通信协议的扩展变更,也能适应不断变化的应用需求;
• 模块化设计:平台采用模块化设计,并构建业务生成平台;
• 可移植性原则:平台采用Java 开发体系,与系统平台无关,确保应用系统的可移植性。
• 先进性原则:平台采用电信级设计标准,在设计思想、系统架构、采用技术、选用平台上均需要具有一定的先进性、前瞻性,考虑一定时期内业务的增长。
• 易用性原则:提供友好的用户操作界面,具备直观易用的人机界面,简化复杂操作步骤。
• 稳定性原则:具备高可靠性和高稳定性,能够适应海量信令数据处理。在系统设计、开发和应用时,从系统结构、技术措施、软硬件平台、技术服务和维护响应能力等方面综合考虑,确保系统较高的性能和较少的故障率。
4.2. 旅游客源分析
4.2.1. 整体方案
4.2.1.1. 方案思路
移动运营商侧拥有丰富的网络信令数据,用户在每一个业务应用和操作时,包括语音通话、收发短信等业务时,都会在网络侧记录用户相关的基站位置信息,除此之外还有用户的主动位置更新(更新LAI)和定期的位置更新(一般为2小时以内),也会记录用户的位置信息,通过这些信令数据上下文,我们可以通过基站描点勾勒出用户的活动轨迹。在利用运营商在旅游景区的基站信息同景区进行有效的结合,可以实时分析各景区的移动本网当前用户人数及本网当前旅游到达总数。
• 通过对用户进一步分析其来源的等相关情况;
• 通过对用户进一步分析驻留时长情况;
• 通过分析各个旅游景区的人流密度等相关情况;
有了这部分本网旅游用户的数据就可以进一步分析有个旅游用户相关如来源地等,以及景区相关的如景区热度排名等相关数据,同时可以通过全省进一步归纳热点旅游线路等,下面章节会详细的介绍。
统计出移动本网用户数据后,可以根据移动用户占比情况即比例系数反推旅游景区的用户总数,占比情况如下图,中移动占比在72%。
4.2.1.2. 系统架构
旅游客源分析应用平台采用信令数据采集接入、数据分析整合、页面展示三层架构的方式实现。
信令数据采集接入层主要获取信令数据,并对数据进行预处理。本层与中兴信令监测平台接口。
数据处理层采用专用数据统计算法和数据发掘分析技术,根据实时采集到的信令接口数据,及定期更新的基站、小区、场所及号码段数据,综合分析各个视角的数据,包括统计区域实时流量数据、流量总量数据、流量密度数据、流量驻留数据、景点流量告警等。
页面展现层具备将各种统计分析结果进行图表化、图形化、地图化的展示,并可以多种格式导出。同时通过界面建立同接触渠道的接口,包括短彩信、12580接口,可以通过接口推送给商家及用户相关的实时信息。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137169.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...