版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章大数据一、大数据概述二、数据获取三、数据挖掘四、数据分析五、Hadoop六、数据可视化1一、大数据概述大数据概念
大数据(bigdata)是一个抽象的概念,至今尚无确切、统一的定义,不同的研究机构与学者对其有着不同的定义。全球最具权威的IT研究与顾问研究机构高德纳(TheGartnerGroup)咨询公司给出了这样的定义:“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。麦肯锡全球研究所对大数据的定义是:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。2大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的数据进行专业化处理。换言之,如果把大数据比作一种产业,那么这种产业实现盈利的关键在于提高对数据的“加工能力”,通过“加工”实现数据的“增值”。从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。大数据必然无法用单台的计算机进行处理,必须采用分布式架构。它的特色在于对海量数据进行分布式数据挖掘,因此它必须依托云计算的分布式处理、分布式数据库和云存储、虚拟化技术。大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。3特征IBM公司认为大数据具有3V特定,即规模性(Volume)、多样性(Variety)和实时性(Velocity),但是这没有体现出大数据的巨大价值。而以IDC为代表的业界则认为大数据具备4V特点,即在3V的基础上增加价值性(Value),具体表现为大数据虽然价值总量高但其价值密度底。目前,大家公认的是大数据具有4个基本特征:数据规模大,数据种类多,处理速度快以及数据价值密度低,即4V。(1)数据规模大。第一个特征是数据量大,包括采集、存储和计算的量都非常大。大数据的起始计量单位至少是P(1000个T)、E(100万个T)或Z(10亿个T)。4(2)数据种类多。第二个特征是种类和来源多样化。包括结构化、半结构化和非结构化数据,具体表现为网络日志、音频、视频、图片、地理位置信息等等,多类型的数据对数据的处理能力提出了更高的要求。(3)处理速度快。第三个特征数据增长速度快,处理速度也快,时效性要求高。比如搜索引擎要求几分钟前的新闻能够被用户查询到,个性化推荐算法尽可能要求实时完成推荐。这是大数据区别于传统数据挖掘的显著特征。
(4)价值密度低(Value)。第四个特征是数据价值密度相对较低,或者说是浪里淘沙却又弥足珍贵。随着互联网以及物联网的广泛应用,信息感知无处不在,信息海量,但价值密度较低,如何结合业务逻辑并通过强大的机器算法来挖掘数据价值,是大数据时代最需要解决的问题。
5发展历程全球首次将“大数据”划分为四大阶段,即“大数据”出现阶段,“大数据”热门阶段,“大数据”时代特征阶段和“大数据”爆发期阶段。出现阶段(1980-2008年)
“大数据”一词在1980年[美]著名未来学家阿尔文·托夫勒著的《第三次浪潮》书中将“大数据”称为“第三次浪潮的华彩乐章”。1997年美国宇航局研究员迈克尔·考克斯和大卫·埃尔斯沃斯首次使用“大数据”这一术语来描述20世纪90年代的挑战:模拟飞机周围的气流——是不能被处理和可视化的。数据集通常之大,超出了主存储器、本地磁盘,甚至远程磁盘的承载能力。称之为“大数据问题。”6热门阶段(2009-2011年)从2009-2010年“大数据”成为互联网技术行业中的热门词汇。2009年美国政府通过启动D网站的方式进一步开放了数据的大门;2010年肯尼斯库克尔发表大数据专题报告《数据,无所不在的数据》;2011年2月扫描2亿年的页面信息,或4兆兆字节磁盘存储,只需几秒即可完成。在2011年6月麦肯锡发布了关于“大数据”的报告,正式定义了大数据的概念,后逐渐受到了各行各业关注;2011年12月,工信部发布的物联网十二五规划上,把信息处理技术作为4项关键技术创新工程之一被提出来,其中包括了海量数据存储、数据挖掘、图像视频智能分析,这些是大数据的重要组成部分。7特征阶段(2012-2016年)《纽约时报》2012年2月的一篇专栏中称“大数据”时代已经降临,在商业、经济及其他领域中,决策将日益基于数据和分析而作出,而并非基于经验和直觉。2012年,美国奥巴马政府在白宫网站发布了《大数据研究和发展倡议》,这一倡议标志着大数据已经成为重要的时代特征;2012年5月,联合国在纽约发布了一份关于大数据政务的白皮书《大数据促发展,挑战与机遇》,总结了各国政府如何利用大数据更好地服务和保护人民。随着2013年的一系列标志性事件的发生,人们越来越感到大数据时代的力量,因此2013年被许多国外媒体和专家称为“大数据元年”。8爆发期阶段(2017-2022年)2017年,大数据已经渗透到人们生活的方方面面,我国大数据产业的发展也进入爆发期。2017年2月8日,贵阳市向首批16个具有引领性和标志性的大数据产业集聚区和示范基地进行授牌,作为国家大数据综合试验区核心区。2018年达沃斯世界经济论坛等全球性重要会议都把“大数据”作为重要议题,进行讨论和展望。“大数据”是2018年达沃斯世界经济论坛的热词之一。大数据发展浪潮席卷全球。全球各经济社会系统采集、处理、积累的数据增长迅猛,大数据全产业市场规模逐步提升。2018年大数据产业或呈现开源大数据商业化进一步深入等七大发展趋势:产业应用将是主旋律。9应用大数据在人们生活的各个方面都有所应用。宏观经济领域一些企业利用大数据分析实现对采购和合理库存量的管理,通过分析网上数据了解客户需求,掌握市场动向。例如:
IBM日本公司建立经济指标预测系统;美国印第安纳大学利用谷歌公司提供的心情分析工具,对道琼斯工业指数的变化进行预测;有资料显示,全球零售商因盲目进货导致的销售损失每年达1000亿;华尔街对冲基金依据购物网站的顾客评论分析企业产品销售状况。10农业领域国内第一个农业大数据的研究和应用推广机构“农业大数据产业技术创新战略联盟”于2013年6月18日在山东农业大学正式成立,标志着国内大数据技术在农业领域的应用又有了实质性突破。
农业大数据是大数据理念、技术和方法在农业中的实践。农业大数据涉及到耕地、播种、施肥、杀虫、收割、存储、育种等各环节,是跨行业、跨专业、跨业务的数据分析与挖掘以及数据可视化。根据农业的产业链条划分,目前农业大数据主要集中在农业环境与资源、农业生产、农业市场和农业管理等领域。(1)农业自然资源与环境数据。主要包括土地资源数据、水资源数据、气象资源数据、生物资源数据和灾害数据。
11(2)农业生产数据包括种植业生产数据和养殖业生产数据。其中,种植业生产数据包括良种信息、地块耕种历史信息、育苗信息、播种信息、农药信息、化肥信息、农膜信息、灌溉信息、农机信息和农情信息;养殖业生产数据主要包括个体系谱信息、个体特征信息、饲料结构信息、圈舍环境信息、疫情情况等。(3)农业市场数据包括市场供求信息、价格行情、生产资料市场信息、价格及利润、流通市场和国际市场信息等。(4)农业管理数据主要包括国民经济基本信息、国内生产信息、贸易信息、国际农产品动态信息和突发事件信息等。12商业领域商业领域应用大数据实现商务智能。零售企业需要运用最先进的计算机和各种通信技术对变化中的消费需求迅速作出反应。通过对大数据的挖掘,零售企业在选择上架产品时,为确保提供式样新颖的商品,需要对消费者的消费行为以及趋势进行分析;在制定定价、广告等策略时,需进行节假日、天气等大数据分析;在稳定收入源时,需要对消费群体进行大数据分析。零售企业可以利用电话、Web、电子邮件等所有联络渠道的客户的数据进行分析,并结合客户的购物习惯,提供一致的个性化购物体验,以提高客户忠诚度。同时,从微博等社交媒体中挖掘实时数据,再将它们同实际销售信息进行整合,能够为企业提供真正意义上的智能,了解市场发展趋势、理解客户的消费行为并为将来制定更加有针对性的策略。13金融领域国内金融业开始进入大数据竞争时代,大数据为金融机构提供了客户全方位信息,通过分析和挖掘客户的交易和消费信息掌握客户消费习惯,并准确预测客户行为,有针对性地推销产品和服务。另外,在品牌管理和客户服务反馈方面,大数据通过对人们在思想、情绪和通信方面的数据化情感分析,获取并汇总顾客的反馈意见并对营销活动效果做出准确判断。金融机构最为关注的是风险管理,而大数据在管理交易、信贷风险和合规方面大显神通。虽然大数据时代为金融业带来的潜力和新商机还有待人们的捕捉,但毋庸置疑的是,大数据正在成为金融业运作的最有价值、最强大的决策辅助工具。14医疗保健领域大数据让专业医疗保健走入寻常百姓家。社交网络为许多慢性病患者提供临床症状交流和诊治经验分享平台,医生借此可获得在医院通常得不到的临床效果统计数据。基于对人体基因的大数据分析,可以实现对症下药的个性化治疗。社会安全领域大数据提供更多破案途径。通过对手机数据的挖掘,可以分析实时动态的流动人口来源、出行,实时交通客流信息及拥堵情况。利用短信、微博、微信和搜索引擎,可收集热点事件,挖掘舆情,还可追踪造谣信息的源头。15二、数据获取网络爬虫概念与原理网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。它的定义有广义和狭义之分。网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。整个搜索引擎系统包含4个模块,分别为信息搜索模块、信息索引模块、信息检索模块和用户接口部分,而网络爬虫便是信息搜索模块的核心。16Web网络爬虫系统的功能是下载网页数据,为搜索引擎系统提供数据来源。很多大型的网络搜索引擎系统都被称为基于Web数据采集的搜索引擎系统,比如Google、Baidu。由此可见Web网络爬虫系统在搜索引擎中的重要性。网页中除了包含供用户阅读的文字信息外,还包含一些超链接信息。Web网络爬虫系统正是通过网页中的超连接信息不断获得网络上的其它网页。正是因为这种采集过程像一个爬虫或者蜘蛛在网络上漫游,所以它才被称为网络爬虫系统或者网络蜘蛛系统,在英文中称为Spider或者Crawler。17系统架构在网络爬虫的系统框架中,主过程由控制器、解析器、资源库三部分组成。
(1)控制器的主要工作是负责给多线程中的各个爬虫线程分配工作任务。(2)解析器的主要工作是下载网页,进行页面的处理,主要是将一些JS脚本标签、CSS代码内容、空格字符、HTML标签等内容处理掉,爬虫的基本工作是由解析器完成。
(3)资源库是用来存放下载到的网页资源,一般都采用大型的数据库存储,如Oracle数据库,并对其建立索引。18工作流程网络爬虫的基本工作流程如下图(a)示,具体说明如下:(1)首先选取一部分精心挑选的种子URL;(2)将这些URL放入待抓取URL队列;(3)从待抓取URL队列中取出待抓取在URL,解析DNS,并且得到主机的ip,并将URL对应的网页下载下来,存储进已下载网页库中。此外,将这些URL放进已抓取URL队列。(4)分析已抓取URL队列中的URL,分析其中的其他URL,并且将URL放入待抓取URL队列,从而进入下一个循环。19图(a)网络爬虫的工作流程20抓取对象网络爬虫的抓取对象可以分为以下4类:(1)静态网页(2)动态网页(3)特殊内容
(4)文件对象21抓取策略在爬虫系统中,待抓取URL队列是很重要的一部分。待抓取URL队列中的URL以什么样的顺序排列也是一个很重要的问题,因为这涉及到先抓取那个页面,后抓取哪个页面。而决定这些URL排列顺序的方法,叫做抓取策略。下面重点介绍几种常见的抓取策略:
1)深度优先策略深度优先搜索是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件)。在一个HTML文件中,当一个超链被选择后,被链接的HTML文件将执行深度优先搜索,即在搜索其余的超链结果之前必须先完整地搜索单独的一条链。22深度优先搜索沿着HTML文件上的超链走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTML文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。这种策略的优点是能遍历一个Web站点或深层嵌套的文档集合;缺点是因为Web结构相当深,有可能造成一旦进去,再也出不来的情况发生。对于右图(b)示的网页结构使用深度优先策略抓取的顺序为:
A-F-G、E-H-I、B、C、D
使用深度优先策略抓取的顺序为:A-F-G、E-H-I、B、C、D23图(b)网页结构示例2)广度优先策略
对于一些动态网页或小网站,采取广度优先策略抓取,搜索引擎会抓取起始网页中链接的所有网页,然后再选择其中的一个链接网页,继续抓取在此网页中链接的所有网页。其基本思路是,将新下载网页中发现的链接直接插入待抓取URL队列的末尾。也就是指网络爬虫会先抓取起始网页中链接的所有网页,然后再选择其中的一个链接网页,继续抓取在此网页中链接的所有网页。对于图(b)示的网页结构使用广度优先策略抓去的顺序为:A-B、C、D、E、F-G、H-I。243)聚焦搜索策略聚焦搜索策略只挑出某个特定主题的页面,根据“最好优先原则”进行访问,快速、有效地获得更多与主题相关的页面。4)最佳优先搜索策略。这种策略按照一定的网页分析算法,预测候选URL与目标网页的相似度,或与主题的相关性,并选取评价最好的一个或几个URL进行抓取。它只访问经过网页分析算法预测为“有用”的网页。存在的一个问题是,在爬虫抓取路径上的很多相关网页可能被忽略,因为最佳优先策略是一种局部最优搜索算法。因此需要将最佳优先结合具体的应用进行改进,以跳出局部最优点。研究表明,这样的闭环调整可以将无关网页数量降低30%~90%。255)基于IP地址的搜索策略。先赋予爬虫一个起始的IP地址,然后根据IP地址递增的方式搜索本IP地址段后的每一个WWW地址中的文档,它完全不考虑各文档中指向其它Web站点的超级链接地址。优点是搜索全面,能够发现那些没被其它文档引用的新文档的信息源;缺点是不适合大规模搜索。搜索策略目前常见的是广度优先策略和最佳优先策略。关键技术分析1)抓取目标的定义与描述针对有目标网页特征的网页级信息。
针对目标网页上的结构化数据。262)网页的分析与信息的提取基于网页拓扑关系的分析算法。基于网页内容的分析算法。基于用户访问行为的分析算法。发展趋势
传统的网络爬虫技术主要应用于抓取静态Web网页,随着AJAX/Web2.0的流行,如何抓取AJAX等动态页面成了搜索引擎急需解决的问题,因为AJAX颠覆了传统的纯HTTP请求/响应协议机制,如果搜索引擎依旧采用“爬”的机制,是无法抓取到AJAX页面的有效数据的。27AJAX采用了JavaScript驱动的异步请求/响应机制,以往的爬虫们缺乏JavaScript语义上的理解,基本上无法模拟触发JavaScript的异步调用并解析返回的异步回调逻辑和内容。
另外,在AJAX的应用中,JavaScript会对DOM结构进行大量变动,甚至页面所有内容都通过JavaScript直接从服务器端读取并动态绘制出来。这对习惯了DOM结构相对不变的静态页面简直是无法理解的。由此可以看出,以往的爬虫是基于协议驱动的,而对于AJAX这样的技术,所需要的爬虫引擎必须是基于事件驱动的。28RSS简易信息聚合(也叫聚合内容)是一种RSS基于XML标准,在互联网上被广泛采用的内容包装和投递协议。RSS(ReallySimpleSyndication)是一种描述和同步网站内容的格式,是使用最广泛的XML应用。RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。发布一个RSS文件后,这个RSSFeed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用,是一种描述和同步网站内容的格式。RSS可以做什么RSS能实现以下功能:订阅BLOG。订阅新闻。29(3)订阅杂志文章。(4)订阅最新搜索结果。(5)快速、高效地浏览。RSS订阅RSS阅读器基本可以分为3类:大多数阅读器是运行在计算机桌面上的应用程序
,通过所订阅网站的新闻推送,可自动、定时地更新新闻标题。新闻阅读器通常是内嵌于已在计算机中运行的应用程序中。在线的WebRSS阅读器,其优势在于不需要安装任何软件就可以获得RSS阅读器的便利,并且可以保存阅读状态,推荐和收藏自己感兴趣的文章。30RSS订阅的步骤如下:第一次使用时,先下载安装RSS阅读软件清理RSS阅读软件不必要的内置频道。右击“RSS信息订阅”,复制频道的链接地址。运行RSS阅读软件,从文件菜单中选择“添加新频道”,将链接地址粘贴到输入框中,在按照操作提示,即完成一个频道的定制。单击频道名即可查阅随时更新的信息。第三方第三方指两个相互联系的主体之外的某个客体,叫作第三方。第三方可以是和两个主体有联系,也可以是独立于两个主体之外的内容。31三、数据挖掘概述数据挖掘(DataMining)是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。与数据挖掘相近的同义词包括:数据融合、数据分析和决策支持等。这一定义包括好几层含义:数据源必须是真实的、海量的、含噪声的;发现的是用户感兴趣的知识;发现的知识要可接受、可理解、可运用;并不要求发现放之四海皆准的知识,仅支持特定的发现问题。32简言之,数据挖掘其实是一类深层次的数据分析方法。因此,数据挖掘可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证己知的规律性,并进一步将其模型化的有效方法。数据挖掘作为一门新兴的交叉学科,涉及数据库系统、数据仓库、统计学、机器学习、可视化、信息检索和高性能计算等诸多领域。此外,还与神经网络、模式识别、空间数据分析、图像处理、信号处理、概率论、图论和归纳逻辑等等领域关系密切。
33数据挖掘与统计学有密切关系,近几年,人们逐渐发现数据挖掘中有许多工作都是由统计方法来完成的。甚至有些人(尤其是统计学家)认为数据挖掘是统计学的一个分支,当然大多数人(包括绝大多数数据挖掘研究人员)并不这么认为。但是,统计学和数据挖掘的目标非常相似,而且数据挖掘中的许多算法也源于数理统计,统计学对数据挖掘发展的贡献功不可没。
数据挖掘与传统数据分析方法主要有以下两点区别:首先,数据挖掘的数据源与以前相比有了明显改变,包括数据是海量的,数据有噪声,数据可能是非结构化的。34其次,传统的数据分析方法一般都是先给出一个假设然后通过数据验证,在一定意义上是假设驱动的;与之相反,数据挖掘在一定意义上是发现驱动的,模式都是通过大量的搜索工作从数据中自动提取出来。即数据挖掘是要发现那些不能靠直觉发现的信息或知识,甚至是违背直觉的信息或知识,挖掘出的信息越是出乎意料,就可能越有价值。
研究数据挖掘的目的,不再单纯是为了研究,而是为商业决策提供真正有价值的信息,进而获取利润。目前所有企业面临一个共同的问题是,企业数据量非常大,而其中真正有价值的信息却很少,因此需要经过深层分析,从大量的数据中获得有利于商业运作、提高竞争力的信息,就像从矿石中淘金一样,数据挖掘也由此得名。35数据挖掘的工具目前,世界上比较有影响的典型数据挖掘系统包括EnterpriseMiner(SAS公司)、IntelligentMiner(IBM公司)、Clementine(SPSS公司)等。数据挖掘工具的选择可以考虑如下几点:商用数据挖掘系统各不相同。不同的数据挖掘工具的功能和使用方法不同。数据集的类型可能完全不同。例如:数据类型——关系型的,事务型的,文本的,时间序列,空间的;系统问题——支持一种还是多种操作系统?C/S架构?是否提供Web接口,且允许输入输出XML数据?数据源——是ASCII文件、文本文件,多个关系型数据源?是否支持ODBC连接(OLEDB,JDBC)?36Amdocs在多年前电信行业已经开始利用数据挖掘技术进行网络出错预测等方面的工作,而近年来随着CRM理念的盛行,数据挖掘技术开始在市场分析和决策支持等方面得到广泛应用。市场上更出现了针对电信行业的包含数据挖掘功能的软件产品。比较典型的有Amdocs和SlpInfoware。Amdocs提供了整个电信运营企业的软件支撑平台。在其ClarifyCRM产品组件中,利用数据挖掘技术支持以下应用:客户流失管理(churnmanagement)终身价值分析(lifetimevalueanalysis)产品分析(productanalysis)欺诈甄别(frauddetection)。Amdocs产品中的数据分析和数据分析应用曾获得3届KDD杯奖。37PredictiveCRM
SlpInfoware开发的PredictiveCRM软件是一个面向电信行业的CRM平台软件,其中应用了大量的数据挖掘和统计学技术。其数据挖掘部分实际上是把SASInstitute、SPSS和UNICA等公司的数据挖掘产品加以二次开发以适应电信行业的需要。数据挖掘在P-CRM中的应用包括客户保持、交叉销售、客户流失管理、欺诈甄别等方面。利用SAS软件技术进行数据挖掘可以有三种方式:(1)使用SAS软件模块组合进行数据挖掘。(2)将若干SAS软件模块联结成一个适合需求的综合应用软件。(3)使用SAS数据挖掘的集成软件工具SAS/EM。
38SAS/EM是一个图形化界面,菜单驱动的,对用户非常友好且功能强大的数据挖掘集成软件,集成了数据获取工具、数据取样工具、数据筛选工具、数据变量转换工具、数据挖掘数据库、数据挖掘过程、多种形式的回归工具、建立决策树的数据剖分工具、决策树浏览工具、人工神经元网络和数据挖掘的评价工具。目前,虽然已经有了许多成熟的商业数据挖掘工具,但这些工具一般都是一个独立的系统,不容易与电信企业现业务支撑系统集成;而且由于数据挖掘技术本身的特点,一个通用的数据挖掘系统可能并不适用于电信企业。39现状与未来
数据挖掘本质上是一种深层次的数据分析方法。数据分析本身已有多年的历史,只不过在过去数据收集和分析的一般目的是用于科学研究;另外,由于当时计算能力的限制,很难实现大量数据的复杂分析。现在,由于各行业业务自动化的实现,商业领域产生了大量的业务数据,这些数据并不是为了分析的目的而收集的,而是在商业运作过程中由于业务需要而自然产生的。40IEEE的KnowledgeandDataEngineering会刊率先在1993年出版了KDD技术专刊。并行计算、计算机网络和信息工程等其他领域的国际学会、学刊也把数据挖掘和知识发现列为专题和专刊讨论。数据挖掘已经成了国际学术研究的重要热点之一。此外,在Internet上还有不少KDD电子出版物,其中以半月刊KnowledgeDiscoveryNuggets最为权威(/subscribe.html)。在网上还有许多自由论坛,如DMEmailClub等41自1989年KDD术语出现以来,由美国人工智能协会主办的KDD国际研讨会已经召开了10次以上,规模由原来的专题讨论会发展到国际学术大会。而亚太地区也从1997开始举行PAKDD年会。与国外相比,国内对数据挖掘的研究起步稍晚,但发展势头强劲。1993年,国家自然科学基金首次资助复旦大学对该领域的研究项目。目前,国内的许多科研单位和高等院校竞相开展知识发现的基础理论及其应用研究。近年来,数据挖掘的研究重点逐渐从发现方法转向系统应用,注重多种发现策略和技术的集成,以及多学科之间的相互渗透。42四、数据分析概述数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。这一过程也是质量管理体系的支持过程。数据分析的目的是把隐没在一大批看来杂乱无章的数据中的信息集中、萃取和提炼出来,以找出所研究对象的内在规律。仅仅知道怎么看数据是远远不够的,还要了解使用这些数据,怎么让数据显示出它本身的为例。总结下来有以下几个方面:(1)看历史数据,发现规律。(2)从历史数据和现有数据中发现端倪,找出问题所在。(3)数据预测。(4)学会拆解数据。43近几年来,数据分析在互联网领域非常受重视,无论是社区型产品、工具类产品还是电子商务,都越来越把数据作为核心资产。确实,数据分析做得越深,越能够实现精细化运营,在很多时候工作的重点才有据可依。但要注意以下问题:(1)不能唯数据论。(2)找到适合自己产品的数据指标。数据分析包括以下5个方面:可视化分析、数据挖掘算法、预测性分析能力、语义引擎、数据质量和管理。
44数据分析流程数据分析流程概括起来主要包括明确分析目的与框架、数据收集、数据处理、数据分析、数据展现和撰写报告6个阶段。明确分析目的与框架为什么要做数据分析?要达到预期的什么效果?要怎么做?都应当做到胸中有丘壑。在明确了分析目的后,需要理清思路,并搭建分析框架,把分析目的分解成若干个不同的分析要点,即如何具体开展数据分析,需要从哪几个角度进行分析,采用哪些分析指标。数据收集数据采集是按照确定的数据分析框架,收集相关数据的过程,它为数据分析提供了素材和依据。它是数据分析的基础。45数据处理数据处理是指对收集到的数据进行加工整理,形成适合数据分析的样式。数据处理主要包括数据清洗、数据转化、数据提取、数据计算等处理方法。数据分析数据分析是指用适当的分析方法及工具,对处理过的数据进行分析,提取有价值的信息,形成有效结论的过程。数据挖掘其实是一种高级的数据分析方法,就是从大量的数据中挖掘出有用的信息。数据挖掘侧重解决四类数据分析问题:分类、聚类、关联和预测,重点在寻找模式和规律。数据分析与数据挖掘的本质是一样的,都是从数据里面发现关于业务的知识。46数据展现数据是通过表格和图形的方式来呈现的,我们常说用图表说话就是这个意思。常用的数据图表包括饼图、柱形图、条形图、折线图、散点图、雷达图等。数据展现可以通过各种工具来进行。比如Echarts,其他BI工具。当然Excel的图表工具也是很好的数据展现工具。撰写报告数据分析报告其实是对整个数据分析过程的一个总结与呈现。通过报告,把数据分析的起因、过程、结果及建议完整地呈现出来,供决策者(领导)参考。47数据分析方法常用的数据分析方法有以下几种:聚类分析因子分析相关分析对应分析回归分析方差分析数据分析常用的图表方法有:柏拉图(排列图)、直方图、散点图(又称柱状图、质量分布图)、鱼骨图、FMEA。48数据分析工具常用的数据分析工具有:Matlab、SPSS、SAS、Excel、R等。下面对Matlab、SPSS、SAS进行简单介绍。MatlabMatlab是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平。主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。49Matlab具有以下特点:编程效率高。
2)用户使用方便。
3)扩展能力强。4)语句简单,内涵丰富。5)高效方便的矩阵和数组运算。6)方便的绘图功能。50SPSSSPSS是StatisticalPackagefortheSocialSciences(社会科学统计软件包)的简称,是一种集成化的计算机数据处理应用软件,是世界上最早的统计分析软件。SPSS集数据录入、数据编辑、数据管理、统计分析、报表制作以及图形绘制于一体,功能非常强大,可针对整体的大型统计项目提供完善的解决方案。SPSS具有以下特点:1)工作界面友善完好、布局合理且操作简便。2)具有完善的数据转换接口,可以方便地与Windows的其他应用程序进行数据共享和交换。3)提供强大的程序编辑能力和二次开发能力,可满足高级用户完成更为复杂的统计分析任务的需要,具有丰富的内部函数和统计功能。4)具有强大的统计图表绘制和编辑功能。51SASSAS是美国SAS软件研究所研制的一套大型集成应用软件系统,具有完备的数据存取、数据管理、数据分析和数据展现功能。尤其是创业产品—统计分析系统部分,以应有尽有、包罗万象和强大精准的数据分析能力一直为业界推崇,被视为最权威的统计分析标准软件。经过多年发展,SAS已被全世界多个国家和地区的科研机构和人员普遍采用,涉及教育、科研、金融等各个领域。
SAS具有以下特点:数据管理统计分析绘图功能52五、Hadoop简介Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序。HDFS放宽了POSIX的要求,可以以流的形式访问文件系统中的数据。53
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。Hadoop目前主要应用于互联网企业,用于数据分析、机器学习、数据挖掘等。Hadoop框架
Hadoop框架是在应用层检测和处理硬件失效问题,而不是依赖于硬件自身来维持高可用性。在Hadoop框架集群中硬件失效被认为是一种常态,集群的高可用性服务是建立在整个集群之上的。Hadoop整体框架包括分布式文件系统(HadoopDistributedFileSystem,HDFS)、并行计算模型(MapReduce)、列式数据库(Hbase)、数据仓库(Hive)、数据分析语言(Pig)、数据格式转化工具(Sqoop)、协同工作系统(Zookeeper)、数据序列化系统(Avro)。54Hadoop整体框架的特点如下:Hadoop主要应用于多节点集群环境下。以数据存储为基础。最大限度兼容结构化数据格式。以数据处理为目的。数据操作技术多样化。整体框架结构见课本第227页图8.4。
55Hadoop体系结构原理及角色组成Hadoop体系结构原理及角色组成如下图(c)所示。56NameNodeJobTracker主节点DataNodeJobTracker从节点DataNodeJobTracker从节点……图(c)Hadoop体系结构原理及角色组成Hadoop家族成员Common:一组由分布式文件系统和通用I/O的组件与接口(序列化,JavaRPC,持久化数据结构)。Avro:一种支持高效、跨语言的RPC以及永久化存储数据的序列化系统。MapReduce:分布式数据处理模型和执行环境,运行于大型的商用机集群。HDFS:分布式文件系统,运行于大型的商用机集群。Pig:一种数据流语言和运行环境,用以检索非常大的数据集。Pig运行在HDFS和MapReduceclusters上。Hive:分布式的,按列存储的数据仓库。Hive管理存储在HDFS的数据,并提供基于SQL的查询语句(运行时候,引擎翻译成MapReduce作业)以查询数据。Hbase:一个分布式的,按列存储的数据库HBase使用HDFS作为底层存储,同时支持MapReduce的批量计算和点查询(随机即读取)。ZooKeeper:一个分布式的高可用性的协调服务。ZooKeeper提供分布式锁之类的基本服务,用于构建分布式应用。Sqoop:在数据库和HDFS之间高效数据传输工具。分布式离线计算框架MapReduce概念MapReduce最早是由Google公司研究提出的一种面向大规模数据处理的并行计算模型和方法。Google公司设计MapReduce的初衷主要是为了解决其搜索引擎中大规模网页数据的并行化处理。Google公司发明了MapReduce之后首先用其重新改写了其搜索引擎中的Web文档索引处理系统。但由于MapReduce可以普遍应用于很多大规模数据的计算问题,因此自发明MapReduce以后,Google公司内部进一步将其广泛应用于很多大规模数据处理问题。到目前为止,Google公司内有上万个各种不同的算法问题和程序都使用MapReduce进行处理。MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义:59(1)MapReduce是一个基于集群的高性能并行计算平台(ClusterInfrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群。
(2)MapReduce是一个并行计算与运行软件框架(SoftwareFramework)。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算涉及到的很多系统底层的复杂细节交由系统负责处理,大大减少了软件开发人员的负担。60
(3)MapReduce是一个并行程序设计模型与方法(ProgrammingModel&Methodology)。它借助于函数式程序设计语言Lisp的设计思想,提供了一种简便的并行程序设计方法,用Map和Reduce两个函数编程实现基本的并行计算任务,提供了抽象的操作和并行编程接口,以简单方便地完成大规模数据的编程和计算处理。工作原理参考Google论文里给出的流程图如图(d),以此对这种计算框架进行介绍。工作流程大致分为7步,具体如下:6162图(d)MapReduce的运作方式(1)MapReduce库先把userprogram的输入文件划分为M份(M为用户定义),每一份通常有16MB到64MB,如图左方所示分成了split0~4;然后使用fork将用户进程拷贝到集群内其它机器上。(2)userprogram的副本中有一个称为master,其余称为worker,master是负责调度的,为空闲worker分配作业(Map作业或者Reduce作业),worker的数量也是可以由用户指定的。(3)被分配了Map作业的worker,开始读取对应分片的输入数据,Map作业数量是由M决定的,和split一一对应;Map作业从输入数据中抽取出键值对,每一个键值对都作为参数传递给map函数,map函数产生的中间键值对被缓存在内存中。63(4)缓存的中间键值对会被定期写入本地磁盘,而且被分为R个区,R的大小是由用户定义的,将来每个区会对应一个Reduce作业;这些中间键值对的位置会被通报给master,master负责将信息转发给Reduceworker。(5)master通知分配了Reduce作业的worker它负责的分区在什么位置(肯定不止一个地方,每个Map作业产生的中间键值对都可能映射到所有R个不同分区),当Reduceworker把所有它负责的中间键值对都读过来后,先对它们进行排序,使得相同键的键值对聚集在一起。因为不同的键可能会映射到同一个分区也就是同一个Reduce作业(谁让分区少呢),所以排序是必须的。64(6)reduceworker遍历排序后的中间键值对,对于每个唯一的键,都将键与关联的值传递给reduce函数,reduce函数产生的输出会添加到这个分区的输出文件中。(7)当所有的Map和Reduce作业都完成了,master唤醒正版的userprogram,MapReduce函数调用返回userprogram的代码。所有执行完毕后,MapReduce输出放在了R个分区的输出文件中(分别对应一个Reduce作业)。用户通常并不需要合并这R个文件,而是将其作为输入交给另一个MapReduce程序处理。整个过程中,输入数据是来自底层分布式文件系统(GFS)的,中间数据是放在本地文件系统的,最终输出数据是写入底层分布式文件系统(GFS)的。65Hadoop分布式文件系统概述Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为ApacheNutch搜索引擎项目的基础架构而开发的。HDFS是ApacheHadoopCore项目的一部分。66HDFS具有以下优点(1)高可靠性、高扩展性、高吞吐率(2)数据自动保存多个副本(3)适合批处理(4)适合大数据处理(5)流式文件访问(6)可构建在廉价机器上HDFS具有以下缺点:(1)低延迟数据访问(2)不适合小文件存储
(3)并发写入、文件随机修改时,一个文件只能有一个写者,仅支持append(追加)67HDFS架构HDFS是一个主从结构,一个HDFS集群只含有一个名字节点,它是一个管理文件命名空间和调节客户端访问文件的主服务器,当然还有一些数据节点,通常是一个节点一个机器,它来管理对应节点的存储。HDFS对外开放文件命名空间并允许用户数据以文件形式存储。内部机制是将一个文件分割成一个或多个块,这些块被存储在一组数据节点中。名字节点用来操作文件命名空间的文件或目录操作,如打开,关闭,重命名等等。它同时确定块与数据节点的映射。数据节点负责来自文件系统客户的读写请求。数据节点同时还要执行块的创建,删除,和来自名字节点的块复制指令。68下图(e)是HDFS架构的示意图。69图(e)HDFS架构HDFS读文件的过程如图(f)所示。70图(f)HDFS读文件过程客户端用文件系统的open()函数打开文件。分布式文件系统通过RPC调用元数据节点,得到文件的数据块信息。对于每一个数据块,元数据节点返回数据块的数据节点地址。分布式文件系统返回FSDataInputStream给客户端,用来读取数据。客户端调用stream的read()方法读取数据。DFSInputStream连接保存此文件第一个数据块的最近的数据节点。数据从数据节点读到客户端。当此数据块读取完毕后,FSDataInputStream关闭和此数据节点的连接,然后读取保存下一个数据块的最近的数据节点。当数据读取完毕后,调用FSDataInputStream的close()函数。在数据读取过程中,如果客户端在与数据节点通信时出现错误,则会尝试读取包含有此数据块的下一个数据节点,并且失败的数据节点会被记录,以后不会再连接。HDFS写文件的过程如图(g)所示。73图(g)HDFS写文件过程客户端调用create()函数创建文件。分布式文件系统通过RPC调用元数据节点,在文件系统的命名空间中创建一个新的文件。元数据节点会首先确定文件原先不存在,并且客户端有创建文件的权限,然后创建新文件。分布式文件系统返回FSDataOutputStream,客户端用于写数据。客户端开始写入数据,FSDataOutputStream将数据分成块,写入数据队列。数据队列由DataStreamer读取,并通知元数据节点分配数据节点用来存储数据块(每块默认复制3份)。分配的数据节点放在一个管道中。Data
Streamer将数据块写入管道中的第一个数据节点;第一个数据节点再将数据块发送给第二个数据节点;第二个数据节点再将数据发送给第三个数据节点。FSDataoutputStream为发出去的数据块保存了应答队列,等待管道中的数据节点告知数据已成功写入。如果数据节点在写入过程中失败了,则关闭管道,将应答队列中的数据块放入到数据队列的开始。当前数据块在已经写入的数据节点中会被元数据节点赋予新的标识,则错误节点重启后能察觉到其数据块是过时的,将会被删除。失败的数据节点从管道中移除,另外的数据块则写入管道中的另外两个数据节点。元数据节点则被通知此数据块复制块数不足,将来会再创建第三份备份。当客户端结束写入数据后,则调用stream的close()方法。此操作将所有的数据块写入管道中的数据节点,并等待应答队列成功返回。最后通知元数据节点写入完毕。Hbase大数据库概述HBase是一个分布式的、面向列的开源数据库,该技术来源于FayChang所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(FileSystem)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。76HbaseClient使用HBase的RPC机制与HMaster和HRegionServer进行通信,对于管理类操作,Client与HMaster进行RPC;对于数据读写类操作,Client与HRegionServer进行RPC。ZookeeperQuorum中除了存储了-ROOT-表的地址和HMaster的地址,HRegionServer也会把自己以Ephemeral方式注册到Zookeeper中,使得HMaster可以随时感知到各个HRegionServer的健康状态。此外,Zookeeper也避免了HMaster的单点问题,见下文描述。HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的MasterElection机制保证总有一个Master运行,HMaster在功能上主要负责Table和Region的管理工作:7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学主题班会课件培养全面发展的重要途径
- 2026年西藏自治区网格员招聘笔试备考试题及答案详解
- 2026年武汉市洪山区网格员招聘考试备考试题及答案详解
- 2026年山南地区网格员招聘笔试参考试题及答案详解
- 2026年南昌市西湖区网格员招聘笔试备考试题及答案详解
- 2026年中卫市沙坡头区社区工作者招聘笔试备考题库及答案详解
- 爱国主义教育活动总结
- 科学预防传染病保持阳光心态四年级主题班会课件
- 维修人员设备保养流程指南
- 坚持科学预防建立健康堡垒小学主题班会课件
- 三一重工100T吊车拆装作业指导
- 广东省深圳市2024-2025学年高一年级下册期末调研考试数学试卷(解析版)
- 保险基础知识考试题库及答案选项
- 《广西《广西科学技术奖评审规范》编制说明》
- 临床技术操作规范麻醉学分册
- 2025年版高等职业教育专科专业教学标准 560216 全媒体广告策划与营销
- 化学实验室通风柜安装安全操作规程
- 2025年中考语文一轮复习:文学类文本阅读 讲义
- 交通事故12123培训
- 痹症中医护理方案
- 2024年10月自考00067财务管理学试题及答案含评分参考
评论
0/150
提交评论