大数据技术与应用基础项目教程(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-21 22:50:29

点击下载

作者:李俊杰 谢志明

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

大数据技术与应用基础项目教程

大数据技术与应用基础项目教程试读:

内容提要

全书共十个项目,除了项目一介绍大数据基础理论外,其余项目均以实战为主线,内容循序渐进,逐步深入,围绕大数据技术的应用层层展开。内容主要包括大数据的基本概念、Ubuntu及服务安装配置、Hadoop集群部署、MapReduce编程、HBase数据库部署与应用、Hive数据仓库安装与应用、Pig数据分析、Sqoop数据迁移、Spark部署及数据分析等知识,最后以大数据技术的具体应用介绍了MapReduce大数据编程、Mahout的K-Means计算、决策树和随机森林的分类预测、频繁项集运算和关联分析等知识。本书秉承“实践为主、理论够用,注重实用”原则,将实验环节及实操内容融入各个知识点与课程教学中,以便读者能更好地学习和掌握大数据关键技术。

本书可作为院校计算机专业的教材,也可作为培训机构云计算和大数据等相关课程的培训用书,还可作为相关技术人员的参考书。

序 PREFACE

大数据产业的发展,人才培养是关键,特别是用得上、留得住的职业技术人才更是稀缺。本书的作者以面向应用、面向实战为指导思想,紧扣职业技术人才培养的特点,在知识点的讲解和实验中避免复杂的理论,使学生能快速上手体验、验证大数据系统的魅力,不断激发学生的学习兴趣。本书覆盖了大数据技术的主要技术要点,目的是让学生在实践的基础上养成在大数据系统环境下工作的习惯。本书可以作为大数据相关专业核心实践课程的教材。

在《大数据技术与应用基础项目教程》一书即将出版之际,作者邀请我写几句话,我欣然应允。本书的作者来自于汕尾职业技术学院云计算与大数据教学团队,由于工作的关系,我在汕尾职业技术学院挂职两年,见证了这个团队艰难成长的历程。汕尾职业技术学院地处广东省相对欠发达的粤东地区,发展条件和资源远远落后于珠三角地区的职业院校,但在云计算、大数据这一新的技术概念提出之后,汕尾职业技术学院的领导和老师敏锐地意识到这一新兴技术所带来的对相关职业技术人才需求的爆发,率先设立了云计算、大数据专业,并与广州五舟科技股份有限公司发起成立了广东省高等教育学会高职高专云计算与大数据专业委员会,并编写了国内第一本面向高职高专的云计算与大数据专业的国家级规划教材。在新专业建设的初期,师资问题是困扰专业发展的一个核心问题,本书的作者团队在最为困难的时候承担起了专业建设的重任,相继建设了多门云计算和大数据专业核心课程,所培养的学生在国内云计算和大数据竞赛中屡获佳绩,使汕尾职业技术学院在这一新专业建设上实现了弯道超车,成为广东省云计算、大数据专业建设的示范和标杆。

数据科学的春天已经到来,大数据、云计算、人工智能、高性能计算技术已呈现出相互交织和相互促进的局面,本书的出版正是响应了这一新时代的召唤,我想是时候我们共同去拥抱这一新技术时代的到来了。

广东省高等教育学会高职高专云计算与大数据专业委员会理事长西南民族大学计算机科学与技术学院并行计算实验室 王鹏

前言 FOREWORD

近年来,国家陆续出台了许多与大数据有关的各类专项支持政策,并把大数据列为国家重点支持和发展的战略新兴产业,大数据的迅速发展已然成为当今科技界、企业界甚至世界各国政府关注的热点。一个国家拥有数据的规模和运用数据的能力将成为综合国力的重要组成部分,对数据的占有和控制将成为国家间和企业间新的争夺焦点。全球著名管理咨询公司麦肯锡率先提出“大数据时代”的到来,并声称:“数据已经渗透到当今各行各业的职能领域,成为重要的生产因素。”

本书的体系结构及知识点的分布按照学习思维逻辑由浅入深、循序渐进、以操代教的模式编排,编者建议初学者尽可能按照章节编排顺序学习和开展实训,这样有助于较为全面地了解大数据技术及其应用。为了快速提升学习者掌握大数据技术实战的能力,我们在每个项目或任务学习后安排多个精选的具有代表性的应用实例作为同步训练。全书注重实用性,图文并茂,知识点也以精练为主,读者在学习每一任务之时只需花上少许时间学习该任务的知识点即可直接进行实操或实训。

本书由广东省高等教育学会高职高专云计算与大数据专业委员会牵头,并组织专家、教师与企业共同参与编写,是全国高等院校计算机基础教育研究会2016年度高职科研规划纵向课题(课题编号:2016GHB02025、2016GHB02005)、广东省高等职业教育质量工程教育教学改革项目(课题编号:GDJG2015245、GDJG2015244)和广东省高职教育信息技术教指委教改项目(课题编号:XXJZW2015002)、广东省高等教育学会高职高专云计算与大数据专业委员会教育科研课题(课题编号:GDYJSKT16-01、GDYJSKT16-03、GDYJSKT16-05)、汕尾职业技术学院教学改革与科研重点立项课题(课题编号:SWKT15-002、SWKT16-002、swjy15-004、swjy16-012)的科研成果。本书编写期间得到了广东技术师范学院、广州五舟科技股份有限公司、汕尾市创新工业设计研究院的鼎力支持,同时还得到了汕尾职业技术学院各处系领导和老师的关怀和支持,正因为有了他们的支持和帮助,我们才能如期完成本书的撰写和编排工作。

大数据技术涉及面很广且更新较快,编者经过大量的重复实验与多年的工作经验积累,参考并引用了无数前辈学者的研究成果、论述,并在与之相关的科学研究上不断扩充和改进,编者在此向这些前辈学者深表敬意。大数据技术作为一门正在高速发展的新兴技术日新月异,新技术、新方法、新架构层出不穷,加之编者的经验和水平有限,本书的结构、内容肯定存在诸多疏漏和不妥之处,诚恳接受读者的批评与指正。如有任何问题和建议,可发送电子邮件至441814853@qq.com,以便我们及时修正完善。

为方便读者学习和教学需要,本教材配备了大量的电子资源,欢迎读者登录人民邮电出版社教育社区(http://www.ryjiaoyu.com)免费下载使用,同时欢迎相关课程的教师加入云计算大数据HPC教育QQ群(321168742)讨论交流。读者还可以通过发送邮件给编者以获得更多下载资源(资源配套邮箱:gdswyun@126.com)。

感谢您使用本书,期待本书能成为您的良师益友。编者2017年6月于云计算与数据中心工程设计研究所项目一走进大数据【项目介绍】

本项目的主要目标是理解大数据的内涵和定义,学会常用的大数据的计算模式和厘清大数据处理的基本流程,了解大数据的应用情况及对当今社会各界产生的影响,乐观看待大数据发展所带来的一系列问题,积极面对各种挑战等。

本项目分为以下6个任务:

任务1 概述大数据的内涵

任务2 关注大数据的影响

任务3 认识常见的大数据计算模式

任务4 厘清大数据处理的基本流程

任务5 大数据应用大显神通

任务6 大数据的发展及面临的挑战【学习目标】

一、知识目标

了解大数据的基本概念、产生的原因及其特性。

理解科学研究的4种范式。

清楚了解大数据对社会发展及思维方式产生的影响。

学会常用的几种大数据计算模式。

掌握大数据处理的基本流程,如数据采集、数据清洗、数据分析和数据解释等过程。

了解大数据在各个领域的应用情况,熟悉大数据推荐系统及搜索引擎系统等。

了解大数据的发展历程及发展现状,积极面对各种挑战。

二、能力目标

能够从大数据角度理解大数据对生产力的影响。

学会按大数据处理流程挖掘分析有价值的信息。

能够理解使用大数据计算模式。

能够理解使用大数据推荐系统及搜索引擎系统。

能够理解大数据的发展及面临的挑战。任务1 概述大数据的内涵【任务概述】

大数据已成为社会各界研究及关注的焦点。本任务着重介绍大数据的内在含义,其中包括大数据的多种定义表述、大数据产生的原因、大数据特性的演进以及在大数据时代才出现的一些数据计量单位。【支撑知识】

近几年,大数据迅速发展成为科技界和企业界甚至世界各国政府关注的热点。人们对于大数据的挖掘和运用,预示着新一波生产力增长和消费盈余浪潮的到来。美国政府认为大数据是“未来的钻石矿和新石油”,一个国家拥有数据的规模和运用数据的能力将成为综合国力的重要组成部分,对数据的占有和控制将成为国家间和企业间新的争夺焦点。全球著名管理咨询公司麦肯锡(McKinsey&Company)首先提出了“大数据时代”的到来并声称:“数据已经渗透到当今各行各业的职能领域,成为重要的生产因素。”

数据的产生方式由“人机”“机物”的二元世界向着融合社会资源信息系统及物理资源的三元世界转变,数据规模呈膨胀式发展,例如,互联网领域中,谷歌搜索引擎的每秒使用用户量达到200万;科研领域中,仅某大型强子对撞机在一年内积累的新数据量就达到15PB左右;电子商务领域中,eBay 的分析平台每天处理的数据量高达 100PB,超过了纳斯达克交易所每天的数据处理量;“双十一”大型商业活动中,淘宝商城屡创神话,销售额由2010年的9亿元一路攀升到现今的 1200 多亿元,支付宝平台平均每秒成功交易 12 万笔,交易覆盖 235个国家和地区;航空航天领域中,仅一架双引擎波音 737 飞机在横贯大陆飞行的过程中,传感器网络便会产生近240TB的数据。综合各个领域,目前积累的数据量已经从TB量级上升至PB、EB甚至已经达到ZB量级,其数据规模已经远远超出了现有通用计算机所能够处理的量级。

根据全球著名咨询机构互联网数据中心(Internet Data Center,IDC)做出的估测,人类社会产生的数据一直都在以每年 50%的速度增长,也就是说,每两年数据量就会增加一倍,即已形成了“大数据摩尔定律”,这意味着人类在最近两年产生的数据量相当于之前产生的全部数据量之和。据IDC统计,2011年全球被创建和复制的数据总量为1.8ZB,到2020年这一数据将攀升到40ZB,是2012年的12倍。而我国的数据量到2020年将超过8ZB,是2012年的22倍。其中 80%以上来自于个人(主要是图片、视频和音乐),远远超过人类有史以来所有印刷材料的数据总量(200PB)。目前,全球的数据量正以每18个月翻一番的速度呈膨胀式增长,数据量的飞速增长同时也带来了大数据技术和服务市场的繁荣发展。

一、大数据的定义“大数据”一词由英文“Big Data”翻译而来,是近几年兴起的概念。往前追溯却发现由来已久,早在1980年就已由美国著名未来学家阿尔文·托夫勒在《第三次浪潮》一书中,将大数据赞颂为“第三次浪潮的华彩乐章”。“大数据”并不等同于“大规模数据”,那么何谓“大数据”呢?迄今并没有公认的定义,由于大数据是相对概念,因此,目前的定义都是对大数据的定性描述,并未明确定量指标。维基(Wiki)百科从处理方法角度给出的大数据定义,即大数据是指利用常用软件工具捕获管理和处理数据所耗时间超过可容忍时间限制的数据集。麦肯锡公司认为将数据规模超出传统数据库管理软件的获取存储管理,以及分析能力的数据集称为大数据;高德纳咨询公司(Gartner)则将大数据归纳为需要新处理模式才能增强决策力、洞察发现力和流程优化能力的海量高增长率和多样化的信息资产;徐宗本院士在第 462 次香山科学会议上的报告中,将大数据定义为不能够集中存储并且难以在可接受时间内分析处理,其中个体或部分数据呈现低价值性而数据整体呈现高价值的海量复杂数据集。虽说这些关于大数据定义的定义方式角度及侧重点不同,但是所传递的信息基本一致,即大数据归根结底是一种数据集,其特性是通过与传统的数据管理及处理技术对比来凸显,并且在不同需求下,其要求的时间处理范围具有差异性,最重要的一点是大数据的价值并非来自数据本身,而是来自由大数据所反映的“大决策”“大知识”“大问题”等。

从宏观世界角度来看,大数据则是融合物理世界、信息空间和人类社会三元世界的纽带,因为物理世界通过互联网、物联网等技术有了在信息空间中的大数据反映,而人类社会则借助人机界面、脑机界面、移动互联等手段在信息空间中产生自己的大数据映像。从信息产业角度来讲,大数据还是新一代信息技术产业的强劲推动力。所谓新一代信息技术产业,本质上是构建在第三代平台上的信息产业,主要是指云计算、大数据、物联网、移动互联网(社交网络)等。

二、大数据产生的原因“大数据”并不是一个凭空出现的概念,其出现对应了数据产生方式的变革,生产力决定生产关系的道理对于技术领域仍然是有效的,正是由于技术发展到了一定的阶段才导致海量数据被源源不断地生产出来,并使当前的技术面临重大挑战。归纳起来大数据出现的原因有以下几点。(1)数据生产方式变得自动化

数据的生产方式经历了从结绳计数到现在的完全自动化,人类的数据生产能力已不可同日而语。物联网技术、智能城市、工业控制技术的广泛应用使数据的生产完全实现了自动化,自动数据生产必然会产生大量的数据。甚至当前人们所使用的绝大多数数字设备都可以被认为是一个自动化的数据生产设备:我们的手机会不断与数据中心进行联系,通话记录、位置记录、费用记录都会被服务器记录下来;我们用计算机访问网页时访问历史、访问习惯也会被服务器记录并分析;我们生活的城市、小区遍布的传感器、摄像头会不断产生数据并保证我们的安全;天上的卫星、地面的雷达、空中的飞机也都在不断地自动产生着数据。(2)数据生产融入每个人的日常生活

在计算机出现的早期,数据的生产往往只是由专业的人员来完成的,能够有机会使用计算机的人员通常都是因为工作的需要,物理学家、数学家是最早一批使用计算机的人员。随着计算机技术的高速发展,计算机得到迅速普及,特别是手机和移动互联网的出现使数据的生产和每个人的日常生活结合起来,每个人都成为数据的生产者:当你发出一条微博时,你在生产数据;当你拍出一张照片时,你在生产数据;当你使用手中的市民卡和银行卡时,你在生产数据;当你在QQ上聊天时,你在生产数据;当你在用微信发朋友圈或聊天时,你在生产数据;当你在玩游戏时,你在生产数据。数据的生产已完全融入人们的生活:在地铁上,你在生产数据;在工作单位,你在生产数据;在家里,你也在生产数据。个人数据的生产呈现出随时、随地、移动化的趋势,我们的生活已经是数字化的生活,如图1-1所示。图1-1 数据生产融入人们的生活(3)图像和音视频数据所占比例越来越大

人类在过去几千年主要靠文字记录信息,而随着技术的发展,人类越来越多地采用视频、图像和音频这类占用空间更大、更形象的手段来记录和传播信息。从前聊天我们用文字,现在用微信和视频,人们越来越习惯利用多媒体方式进行交流,城市中的摄像头每天都会产生大量视频数据,而且由于技术的进步,图像和视频的分辨率变得越来越高,数据变得越来越大。(4)网络技术的发展为数据的生产提供了极大的方便

前面说到的几个大数据产生原因中还缺乏一个重要的引子:网络。网络技术的高速发展是大数据出现的重要催化剂:没有网络的发展就没有移动互联网,我们就不能随时随地实现数据生产;没有网络的发展就不可能实现大数据视频数据的传输和存储;没有网络的发展就不会有现在大量数据的自动化生产和传输。网络的发展催生了云计算等网络化应用的出现,使数据的生产触角延伸到网络的各个终端,使任何终端所产生的数据能快速有效地被传输并存储。很难想象在一个网络条件很差的环境下能出现大数据,所以,可以这么认为:大数据的出现依赖于集成电路技术和网络技术的发展,集成电路为大数据的生产和处理提供了计算能力的基础,网络技术为大数据的传输提供了可能。(5)云计算概念的出现进一步促进了大数据的发展

云计算这一概念是在 2008 年左右进入我国的,而最早可以追溯到 1960 年人工智能之父麦卡锡所预言的“今后计算机将会作为公共设施提供给公众”。2012年3月在国务院政府工作报告中云计算被作为附录给出了一个政府官方的解释,表达了政府对云计算产业的重视,在政府工作报告中云计算的定义是这样的:“云计算:是基于互联网的服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。是传统计算机和网络技术发展融合的产物,它意味着计算能力也可作为一种商品通过互联网进行流通。”云计算的出现使计算和服务都可以通过网络向用户交付,而用户的数据也可以方便地利用网络传递,云计算这一模式网络的作用被进一步凸显出来,数据的生产、处理和传输可以利用网络快速地进行,改变传统的数据生产模式,这一变化大大加快了数据的产生速度,对大数据的出现起到了至关重要的作用。

三、大数据特性

在大数据的定义中,已经包含了大数据的特性,即数据量大、处理速度要求快、价值密度低等,目前对于大数据的特性认可度较高的是3V特性:数据的规模性(Volume)、高速性(Velocity)及数据结构多样性(Variety),而在此基础上已经有不同的公司及研究机构对其进行了扩展,大数据特性描述的演化如表1-1所示。表1-1 大数据特性描述的演化情况

由表 1-1可以看出,随着时间的演化,业界对于大数据的认识也更深入、全面。除以上对大数据特性的通用性描述之外,不同应用领域的大数据的具体特性也存在差异性。如互联网领域需要实时处理和分析用户购买行为,以便及时制定推送方案,返回推荐结果来迎合和激发用户的消费行为,精度及可靠性要求较高;医疗领域需要根据用户病例及影像等信息判断病人的病情,由于其与人们的健康息息相关,所以,其精度及可靠性要求非常高。表 1-2列举了不同领域大数据的具体特点及应用案例。表1-2 不同领域大数据的具体特点及应用案例

由表 1-2 可以看出,不同应用领域的数据规模、用户数目及精度要求等均存在较大的差异,例如,互联网领域与人的正常活动息息相关,其数据量达PB级别,用户数目非常大,而且以用户实时性请求为主。与此不同,在科研领域中,其用户数目相对较少,产生的数据量级别在TB级。因此,对大数据后续的分析及处理必须因地制宜,才能实现大数据价值的最大化。

四、数据的计量

大数据出现后人们对数据的计量单位也逐步变化,常用的KB、MB和GB已不能有效地描述大数据。在大数据研究和应用时我们经常会接触到数据存储的计量单位。下面对数据存储的计量单位进行介绍。

计算机学科中一般采用0、1这样的二进制数来表示数据信息,信息的最小单位是bit(比特),一个0或1就是一个比特,而8bit就是一字节(Byte),如10010111就是一Byte。习惯上人们用大写的B表10示Byte。信息的计量一般以2为一个进制,如1024Byte=1KB(KiloByte,千字节),更多常用的数据单位换算关系如表1-3所示。表1-3 数据存储单位之间的换算关系

目前市面上主流的硬盘容量大都为TB级,典型的大数据一般都会用到PB、EB和ZB这3种单位。任务2 关注大数据的影响【任务概述】

大数据对科学研究、思维方式和社会发展都具有重要而深远的影响。本任务除了重点介绍曾为大数据做出卓越贡献的科学家之外,还着重介绍了大数据所带来的影响,其中影响较深的有大数据对科学研究的影响及大数据对社会发展的影响,主要体现在大数据改变了科学研究的思维方式、大数据改变了人们的生存方式、大数据改变了人类的生产方式。【支撑知识】

大数据对科学研究、思维方式和社会发展都具有重要而深远的影响。在科学研究方面,大数据使得人类科学研究在经历了实验、理论、计算 3 种范式之后,迎来了第四种范式——数据;在思维方式方面,大数据具有“全样而非抽样、效率而非精确、相关而非因果”三大显著特征,完全颠覆了传统的思维方式;在社会发展方面,大数据决策逐渐成为一种新的决策方式,大数据应用有力促进了信息技术与各行业的深度融合,大数据开发大大推动了新技术和新应用的不断涌现;在就业市场方面,大数据的兴起使得数据科学家成为热门职业;在人才培养方面,大数据的兴起,将在很大程度上改变我国高校计算机信息技术相关专业的现有教学和科研体制。

一、大数据之父——吉姆·格雷(Jim Gray)

云计算和大数据是密不可分的两个概念,云计算时代网络的高度发展,使每个人都成为数据产生者,物联网的发展更是使数据的产生呈现出随时、随地、自动化、海量化的特征,大数据不可避免地出现在了云计算时代。吉姆·格雷(见图1-2)生于1944年,在著名的加州大学伯克利分校计算机科学系获得博士学位,是声誉卓著的数据库专家、1998年度的图灵奖获得者。2007年1月11日在美国国家研究理事会计算机科学与通信分会上吉姆·格雷明确地阐述了科学研究第四范式——“数据密集型科学”,认为依靠对数据分析挖掘也能发现新的知识,其实质是科学研究将从以计算为中心向以数据为中心转变,即数据思维的到来。这一认识吹响了大数据前进的号角,计算应用于数据的观点在当前的云计算大数据系统中得到了大量的体现。在发表这一演讲后的十几天,2007年1月28日格雷独自驾船出海就再也没有了音信,虽然经多方努力搜寻,也没有发现他的一丝信息,人们再也没能见到这位伟大的天才科学家。图1-2 吉姆·格雷

二、大数据对科学研究的影响

第四范式的命名是与之前的 3 种科学范式“实验科学”“理论科学”“计算科学”相呼应和一脉相承的,是人类在科学研究领域上新的发现与突破。这 4 种范式在不同时代或时期都给人类社会带了巨大的财富与文明,是人类发现世界、探索世界的利器,下面将分别对这 4种范式进行简明扼要的表述,如图1-3所示。(1)第一种范式:观测与实验科学

出于好奇的天性,人类一直都在不断地认识自己所生活的世界。最早人类通过自己的观察来认知这个世界,发现了火能烤熟食物、石头能够凿开坚果,发现月亮有阴晴圆缺。随着知识的不断积累,人类开始将之前通过观察和实验得到的感性认识总结为理论。伽利略在比萨斜塔进行“两个大小不同的铁球同时落地”的实验推翻了持续1900年之久的亚里士多德“物体下落速度和重量成比例”的学说,这就是人类的认识由感性经验上升到理性理论的重要实验之一。(2)第二种范式:理论科学

随着科学的进步,人类开始采用各种数学、几何、物理等理论,有了理论以后人类可以用理论来分析世界、预测世界和寻求科学的解决方案。我们有了历法,能够预言一年四季,能够指导春耕秋收,能预测尚未被发现的行星,譬如,海王星、冥王星的发现就不是通过观测而是通过理论计算而得到的。我们还能运用各种理论,如牛顿三大定律、麦克斯韦方程组、相对论等去认识世界和改造世界。(3)第三种范式:计算与仿真科学

随着世界上第一台通用计算机ENIAC在美国宾夕法尼亚大学的诞生,人类社会开始步入计算机时代,科学研究也进入了一个以“计算”为中心的全新时期。理论的逐步完善使人类仅仅通过计算和仿真就能发现和认识新的规律,目前在材料科学研究中物质大量的特性正是利用“第一性原理”,通过软件的仿真来完成的,在全面禁止核爆条款下,原子弹的研究也完全依赖计算模拟核爆炸来进行。人类认识世界的方法就这样走过了实验科学、理论科学和计算科学三大阶段。(4)第四种范式:数据密集型科学

网络技术和计算机技术的发展使人类在近期获得了一种新的认识世界的手段,就是利用大量数据来发现新的规律,这种认识世界的方法被称为“第四范式”,是美国著名的科学家图灵奖得主吉姆·格雷在2007年提出的。这标志着数据正式成为大家公认的认识世界的方法。大数据出现后人类认识世界的方法就达到4种:实验、理论、计算和数据,如图1-3所示。现在人类在一年内所产生的数据可能已经超过人类过去几千年产生的数据的总和,即使是复杂度为O(n)的数据处理方法,在面对庞大的n时也显得力不从心,人类逐步进入大数据的时代。在大数据环境下,一切都将以数据为中心,从数据中发现问题、解决问题,真正体现出数据的宝贵价值。第四范式的出现正说明了可以利用海量数据加上高速计算发现新知识,计算和数据的关系在大数据时代将会变得更加紧密。图1-3 人类认识世界的四种手段

三、大数据对社会发展的影响

大数据的发展不仅改变了科学思维,也必然会引起企业、政府及个人的思维方式的变革,维克托·迈尔·舍恩伯格在《大数据时代:生活、工作与思维的大变革》一书中指出,对于大数据时代,应放弃对因果关心的渴求,而更关注相关关系,正如其在福布斯·静安南京路论坛上的演讲所述:“在大数据时代,人们每天醒来,要想的事情就是面对如此庞大复杂的数据可以用来做什么,其价值可以体现在哪些方面,是否可以找到一个别人从未涉及的事情使得思路及想法成为重要的资产。”由此可见,大数据时代必然会引起思维的转变,而且思维的转变越快,越能在如今竞争激烈的社会中抢占先机。(1)大数据改变科学研究的思维方式

① 要全体不要抽样。在以往的科学分析中,由于数据存储和处理能力的限制,通常采用抽样的方法,即从全体数据集中抽取一部分样本数据,通过对样本数据的分析,来推断全体数据集的总体特征。通常,样本数据规模要比全集数据小得多,因此,可以在可控的代价内实现数据分析的目的。在大数据时代,其核心技术就是对海量数据进行处理和存储,分布式文件系统和分布式数据库技术提供了理论上近乎无限的数据存储能力,分布式并行编程框架MapReduce 提供了强大的海量数据并行处理能力。因此,有了大数据技术的支持,科学分析完全可以直接针对全集数据并可以在短时间内快速得到分析结果,例如,Google公司的Dremel可以在2~3秒完成PB级的数据查询,其速度之快,超乎想象。

② 要效率不要绝对精确。抽样分析方法是科学研究人员常用的一种科学实验分析方法,一般来说,把采集到的数据进行抽样,并以精确性的分析方法分析样本数据,其样本分析结果通常来说较为精准,但是如将其分析结果应用到全体数据集后,微小误差也将会被放大许多,这就意味着抽样分析的微小误差,被放大到全体数据集后,其误差也有可能会随之放大很多。正是由于这个原因,传统的数据分析方法往往更加注重提高算法的精确性,其次才是提高算法效率。现在,大数据时代采用的是全体数据集分析而非抽样数据分析,其分析结果就不存在误差被放大的问题,因此,算法的高精确性已经不是现在所要追求的首要目标,相反,大数据时代具有“秒级响应”的特征,要求在几秒内就迅速给出针对海量数据的实时分析结果,否则,就会丧失数据的价值,因此,数据分析的效率将会是大数据时代关注的焦点。

③ 要相关不要因果。数据分析的目的主要体现在如下两方面:一方面是解释事物背后的发展规律或机理,例如,找出某地区大型企业某类产品销售业绩大幅下滑的原因,并分析问题所在;另一方面是用于预测未来可能发生的事件,比如,通过实时分析各大媒体最新报道及微博等数据,当发现人们对雾霾的讨论明显增加时,就可建议销售部增加口罩的进货量,因为人们关注雾霾的一个直接结果是在这样的一个环境下如何保障身体损害最小,而简单方便的口罩将会是一个不错的产品。其实,不管是何目的,反映的都是“因果关系”。而在大数据时代,因果关系将不再那么重要,人们转而追求“相关性”而非“因果性”。譬如,当我们在淘宝网购买了一个键盘后,淘宝网还会自动提示你,与你购买相同产品的其他客户还购买了鼠标,也就是说,淘宝网只会告诉你“键盘”和“鼠标”之间存在相关性,但是,它不会告诉你其他客户为什么会在购买键盘之后还会继续购买鼠标。(2)大数据改变人们的生存方式

在21世纪,信息技术突飞猛进的今天,物联网、嵌入式技术、传感技术等的发展,为人类更全面地感知客观存在的物理世界提供了基础;而互联网、云计算等信息技术的发展更是改变了人类通信与管理信息的方式。随着技术的发展及工具的更新换代,人类也提出了更高的生存需求,美国国家科学基金委员会在 2006 年提出了信息物理系统(Cyber Physical Systems,CPS)的概念;2007年,不同机构及研究学者对其进行了定义,包括LEE、Baheli、Sastry及Krogh等,强调计算元素及物理元素,实体与虚拟网络的关系,并注重通信计算及控制能力,尽管不同定义的描述不同,但是都明确了CPS的内涵:Cyber与Physical的深度融合后形成的智能系统。CPS的运行状况如图1-4所示。

在图 1-4 中,最外面一层是物理实体,其代表我们生活的物理世界;中间一层为感知层,包括传感器等具有采集功能的设备;第三层为计算机等具有计算功能的设备,其负责实现对采集数据的分析及可视化呈现;最里面一层为决策层(具有决策能力的人或者其他事物),其通过感知及分析结果做出决策,并作用于物理实体。CPS的运行图体现了在感知基础上,人、机、物的深层融合。CPS的有效工作将改变人类的生存方式,如其可应用于无人机、自主导航的汽车等以实现物理实体的自主工作,医疗领域中可应用于自动手术,物联网领域中可实现生活中的智能家居及智慧城市等。上述CPS的成功实现,最重要的基础就是系统中收集的大量数据的有效分析及处理,其是决策支持的重要来源。即如果没有大数据的积累及分析,那么CPS 也就无从谈起。由此可见,大数据的产生及有效分析是 CPS 的重要资源和基础,结合其他技术的发展,将为改变人类生存方式提供重要动力。图1-4 CPS的运行状况(3)大数据改变人类的生产方式

目前已经先后经历了三次工业革命,包括 1760--1840 年因为蒸汽动力的发明产生了生产制造的机械化,开创了“蒸汽时代”;1840--1950年因为电的发明开创了“电气时代”,使得生产得以批量化;1950年至今,电子技术和计算机等信息技术的发展开创了“信息时代”,使得产品更为丰富,功能性更强;而随着科技的进一步发展,科技的进步也必定引起生产方式的变革。为此,德国提出了“工业4.0”,即第四次工业革命,以智能制造为主导实现生产制造人机一体化,“工业 4.0”的提出预示着革命性的生产方式的诞生,而实现“工业4.0”的基础就是大数据的分析及CPS的推广,其标志着生产制造业必须转向以数据分析为中心。由此可见,大数据的发展将在生产方式改变中起到关键作用。四次工业革命演化如图1-5所示。图1-5 四次工业革命演化“工业4.0”是在2013年举办的汉诺威(Hannover)工业博览会上正式提出的,虽然第四次工业革命是否到来还存在很大争议,但是目前很多国家已经投入了大量资金及精力来推进“工业 4.0”的进程。成功的典范是特斯拉及西门子,特斯拉将自己的核心定位于大型可移动的智能终端,通过互联网将汽车设计为包含软件、硬件,以及内容和服务的体验工具,将互联网思维引入制造业;西门子的电子车间更是将“工业4.0”付诸实践的典型代表,其建立了一个紧密结合的技术网络,通过技术整合形成更智能、高效的整体,使生产线的可靠性达到99%,追溯性达到100%。“工业 4.0”将要达到的目标是通过物联网系统实现智能工厂,即每件产品、零部件都会包含大量的信息,包括何时生产、可以用多久、是否需要替换等,通过非人为干预的智能方式实现自主处理。由此可见,大数据将在改变生产方式中扮演重要角色,由大数据到决策的实现将加速“工业4.0”时代的到来。任务3 认识常见的大数据计算模式【任务概述】

大数据处理技术除了使用频率较高的MapReduce之外,还有多种大数据计算模式。本任务主要介绍几种常用的大数据计算模式,主要包括查询分析计算(HBase、Hive、Dremel、Cassandra、Impala、Shark、HANA)、批处理计算(Hadoop、Spark)、流计算(Scribe、Flume、Storm、S4、Spark Streaming)、迭代计算(Haloop、iMapReduce、Twister、Spark)、图计算(Pregel、Giraph、Trinity、GraphX、PowerGraph)、内存计算(Spark、HANA、Dremel)。【支撑知识】

当人们提到大数据处理技术时就会自然而然地先想到MapReduce,而实际上,MapReduce仅是大数据计算模式中使用频率较高的一种,大数据处理的问题复杂多样,数据源类型也较多,包括结构化数据、半结构化数据、非结构化数据,由此可见,单一的计算模式早已无法满足不同类型的计算需求。例如,有些场合需要对海量已有数据进行批量处理,有些场合需要对大量的实时生成的数据进行实时处理,有些场合需要在数据分析时进行反复迭代计算,有些场合需要对图数据进行分析计算。目前主要的大数据计算模式有查询分析计算、批处理计算、流计算、迭代计算、图计算和内存计算等。

一、查询分析计算

大数据时代,查询分析计算系统需要具备对大规模数据实时或准实时查询的能力,数据规模的增长已经超出了传统关系型数据库的承载和处理能力。目前主要的数据查询分析计算主要有HBase、Hive、Dremel、Cassandra、Impala、Shark、HANA等。

HBase:开源、分布式、面向列的非关系型数据库模型,是Apache的Hadoop项目的子项目,源于Google论文《Bigtable:一个结构化数据的分布式存储系统》,它实现了其中的压缩算法、内存操作和布隆过滤器。HBase 的编程语言为 Java。HBase 的表能够作为 MapReduce任务的输入和输出,可以通过Java API来存取数据。

Hive:基于Hadoop的数据仓库工具,用于查询、管理分布式存储中的大数据集,提供完整的 SQL 查询功能,可以将结构化的数据文件映射为一张数据表。Hive 提供了一种类 SQL语言(HiveQL),可以将SQL语句转换为MapReduce任务运行。

Dremel:由谷歌公司开发,是一种可扩展的、交互式的实时查询系统,用于只读嵌套数据的分析。通过结合多级树状执行过程和列式数据结构,它能做到几秒内完成对万亿张表的聚合查询。系统可以扩展到成千上万的CPU上,满足谷歌上万用户操作PB量级的数据,并且可以在2~3秒完成PB量级数据的查询。

Cassandra:开源NoSQL数据库系统,最早由Facebook开发,并于2008年开源。由于其良好的可扩展性,Cassandra 被 Facebook、Twitter、Rackspace、Cisco 等公司使用,其数据模型借鉴了Amazon的Dynamo和Google BigTable,是一种流行的分布式结构化数据存储方案。

Impala:由Cloudera公司参考Dremel系统开发,是运行在Hadoop平台上的开源大规模并行SQL查询引擎。用户可以使用标准SQL接口的工具快速查询存储在Hadoop的HDFS和HBase中的PB量级大数据。

Shark:Spark上的数据仓库实现,即Spark SQL,与Hive相兼容,但处理HiveQL的性能比Hive快100倍。

HANA:由SAP公司开发的与数据源无关、软硬件结合、基于内存计算的平台。

二、批处理计算

批处理计算主要解决针对大规模数据的批量处理,也是日常数据分析工作中常见的一类数据处理需求。MapReduce 是最具有代表性和影响力的大数据批处理技术,可以并行执行大规模数据集(TB量级以上)的处理任务。MapReduce对具有简单数据关系、易于划分的海量数据采用“分而治之”的并行处理思想,将数据记录的处理分为 Map 和 Reduce 两个简单的抽象操作,提供了一个统一的并行计算框架,但是,MapReduce 的批处理模式不支持迭代计算。批处理计算系统将并行计算的实现进行封装,大大降低了开发人员的并行程序设计难度。典型的批处理计算系统除了MapReduce,还有Hadoop和Spark。

Hadoop:目前大数据处理最主流的平台,是Apache基金会的开源软件项目,是使用Java语言开发实现的。Hadoop平台使开发人员无须了解底层的分布式细节,即可开发出分布式程序,在集群中对大数据进行存储、分析。

Spark:由加州伯克利大学AMP实验室(Algorithms Machines and People Lab)开发,适合用于机器学习、数据挖掘等迭代运算较多的计算任务。由于Spark引入了内存计算的概念,运行Spark时服务器使用内存替代HDFS或本地磁盘来存储中间结果,大大加速数据分析结果的返回速度。Spark提供比Hadoop更高层的API,同样的算法在Spark中的运行速度比Hadoop快10~100倍。Spark在技术层面兼容Hadoop存储层API,可访问HDFS、HBASE、SequenceFile等。Spark-Shell可以开启交互式Spark命令环境,能够提供交互式查询,因此,可将其运用于需要互动分析的场景。

三、流计算

大数据分析中一种重要的数据类型——流数据,是指在时间分布和数量上无限的一系列动态数据集合体,数据的价值随着时间的流逝而降低,因此,必须采用实时计算的方式给出秒级响应。流计算具有很强的实时性,需要对应用不断产生的流数据实时进行处理,使数据不积压、不丢失,经过实时分析处理,给出有价值的分析结果。常用于处理电信、电力等行业应用及互联网行业的访问日志等。Facebook的Scribe、Apache的Flume、Twitter的Storm、Yahoo的S4、UCBerkeley的Spark Streaming是常用的流计算系统。

Scribe:Scribe是由Facebook开发的开源系统,用于从海量服务器实时收集日志信息,对日志信息进行实时的统计分析处理,应用在Facebook内部。

Flume:Flume由Cloudera公司开发,其功能与Scribe相似,主要用于实时收集在海量节点上产生的日志信息,存储到类似于HDFS的网络文件系统中,并根据用户的需求进行相应的数据分析。

Storm:基于拓扑的分布式流数据实时计算系统,由BackType公司(后被Twitter收购)开发,现已经开放源代码,并应用于淘宝、百度、支付宝、Groupon、Facebook等平台,是主要的流数据计算平台之一。

S4:S4的全称是Simple Scalable Streaming System,是由Yahoo开发的通用、分布式、可扩展、部分容错、具备可插拔功能的平台。其设计目的是根据用户的搜索内容计算得到相应的推荐广告,现已经开源,是重要的大数据计算平台。

Spark Streaming:构建在Spark上的流数据处理框架,将流式计算分解成一系列短小的批处理任务进行处理。网站流量统计是Spark Streaming的一种典型的使用场景,这种应用既需要具有实时性,还需要进行聚合、去重、连接等统计计算操作。如果使用Hadoop MapReduce框架,则可以很容易地实现统计需求,但无法保证实时性。如果使用Storm这种流式框架,则可以保证实时性,但实现难度较大。Spark Streaming可以以准实时的方式方便地实现复杂的统计需求。

四、迭代计算

针对MapReduce不支持迭代计算的缺陷,人们对Hadoop的MapReduce进行了大量改进, Haloop、iMapReduce、Twister、Spark是典型的迭代计算系统。

HaLoop:HaLoop是Hadoop MapReduce框架的修改版本,用于支持迭代、递归类型的数据分析任务,如PageRank、K-Means等。

iMapReduce:一种基于MapReduce 的迭代模型,实现了MapReduce 的异步迭代。

Twister:基于Java的迭代MapReduce模型,上一轮Reduce的结果会直接传送到下一轮的Map。

Spark:Spark 是一种与 Hadoop相似的开源集群计算环境,但 Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

五、图计算

社交网络、网页链接等包含具有复杂关系的图数据,这些图数据的规模巨大,可包含数十亿顶点和上百亿条边,图数据需要由专门的系统进行存储和计算。常用的图计算系统有Google公司的Pregel、Pregel的开源版本Giraph、微软的Trinity、Berkeley AMPLab的GraphX,以及高速图数据处理系统PowerGraph。

Pregel:Pregel是由谷歌公司开发的一种基于BSP(Bulk Synchronous Parallel)模型实现的并行图处理系统,采用迭代的计算模型。为了解决大型图的分布式计算问题,Pregel搭建了一套可扩展的、有容错机制的平台,该平台提供了一套非常灵活的 API,可以描述各种各样的图计算。在谷歌的数据计算任务中,大约80%的任务处理采用MapReduce模式,如网页内容索引;图数据的计算任务约占20%,采用Pregel进行处理。

Giraph:Giraph是一个迭代的图计算系统,最早由雅虎公司借鉴Pregel系统开发,后捐赠给Apache软件基金会,成为开源的图计算系统。Giraph是基于Hadoop建立的,此外,Apache Giraph开源项目已被Facebook广泛应用在搜索服务中,同时还对Giraph做了大量功能性改进和扩展,目前基于Giraph开发的平台稳定且易使用。

Trinity:Trinity 是微软公司开发的图数据库系统,该系统是基于内存的数据存储与运算系统,源代码不公开。

GraphX:GraphX是由AMPLab开发的运行在数据并行的Spark平台上的图数据计算系统。

PowerGraph:PowerGraph是高速图数据处理系统,常用于广告推荐计算和自然语言处理。

六、内存计算

随着内存价格的不断下降和服务器可配置内存容量的不断增长,使用内存计算完成高速的大数据处理已成为大数据处理的重要发展方向。目前常用的内存计算系统有分布式内存计算系统Spark、全内存式分布式数据库系统HANA、谷歌的可扩展交互式查询系统Dremel。

Spark:是一种基于内存计算的开源集群计算系统,启用了内存分布数据集,由Scala语言实现并将其作为应用程序框架。

HANA:SAP公司开发的基于内存技术、面向企业分析性的产品。

Dremel:谷歌的交互式数据分析系统,可以在数以千计的服务器组成的集群上发起计算,处理PB级的数据。Dremel是Google MapReduce的补充,大大缩短了数据的处理时间,成功地应用在谷歌的BigQuery中。任务4 厘清大数据处理的基本流程【任务概述】

进入大数据时代,数据采集来源广泛,且数据类型多以半结构化和非结构化海量数据为主,因此,要想获得有价值的数据信息,需要对这些采集到的海量数据在适合的辅助工具下进行技术处理。本任务介绍的大数据处理基本流程主要包括三个方面:一是数据清洗,二是数据分析,三是数据解释,数据最终以可视化的方式呈现给用户,供用户做决策。【支撑知识】

大数据并非仅指数据本身,而是海量数据和大数据处理技术这两者的综合。通常,大数据的处理流程可以定义为在适合工具的辅助下,对广泛异构的数据源进行抽取和集成,按照一定的标准统一存储,利用合适的数据分析技术对存储的数据进行分析,从中提取有益的知识并利用恰当的方式将结果展示给终端用户。从数据分析全流程的角度来看,大数据处理的基本流程如图1-6所示。图1-6 大数据处理的基本流程

一、数据清洗

由于大数据处理的数据来源类型丰富,大数据处理的第一步是对数据进行抽取、清洗、转换和集成,从中提取出关系和实体,经过关联和聚合等操作,按照统一定义的格式对数据进行存储。现有的大数据清洗方法有三种:基于物化或数据仓库技术方法的引擎(Materialization or ETL Engine)、基于联邦数据库或中间件方法的引擎(Federation Engine or Mediator)、基于数据流方法的引擎(Stream Engine)。

二、数据分析

数据分析是大数据处理流程的核心步骤,通过数据抽取和集成环节,我们已经从异构的数据源中获得了用于大数据处理的原始数据。用户可以根据自己的需求对这些数据进行分析处理,如机器学习、数据挖掘、数据统计等。数据分析可以用于决策支持、商业智能、推荐系统、预测系统等。

三、数据解释

大数据处理流程中用户最关心的是数据处理的结果,正确的数据处理结果只有通过合适的展示方式才能被终端用户正确理解,因此,数据处理结果的展示非常重要,可视化和人机交互是数据解释的主要技术。开发调试程序的时候经常通过打印语句的方式来呈现结果,这种方式非常灵活、方便,但只有熟悉程序的人才能很好地理解打印结果。使用可视化技术,可以将处理的结果通过图形的方式直观地呈现给用户,标签云(Tag Cloud)、历史流(History Flow)、空间信息流(Spatial Information Flow)等是常用的可视化技术,用户可以根据自己的需求灵活地使用这些可视化技术。人机交互技术可以引导用户对数据进行逐步分析,使用户参与到数据分析的过程中,深刻地理解数据分析结果。

需要指出的是,大数据技术是许多技术的一个集合体,这些技术也并非全部都是新生事物,诸如关系型数据库、数据仓库、数据挖掘、OLAP、ETL、数据安全和隐私保护、数据可视化等已经是发展多年的技术,在大数据时代得到不断补充、完善、提高后又有了新的升华,因此,也可将这些技术视为大数据技术的一个重要组成部分。任务5 大数据应用大显神通【任务概述】

大数据无处不在并已融入社会各行各业,其在各个领域的应用也是相当广泛。本任务主要介绍大数据在各个领域应用的基本情况,其中包括电信行业、金融行业、餐饮行业等,并重点介绍了高能物理、推荐系统、搜索引擎系统和百度迁徙方面的应用。【支撑知识】

大数据无处不在,包括电信、金融、餐饮、零售、政务、医疗、能源、娱乐、教育等在内的社会各行各业都已经融入了大数据的印迹,表1-4是大数据在各个领域的应用情况。

了解了大数据在各个领域运用的基本情况,下面再举几个大数据典型应用的示例让读者能更加清楚大数据在各行各业发挥的作用,以及确切知道大数据与人们的日常生活是息息相关的。表1-4 大数据在各个领域的应用一览

一、大数据在高能物理中的应用

高能物理学科一直是推动计算技术发展的主要学科之一,万维网技术的出现就是来源于高能物理对数据交换的需求。高能物理是一个天然需要面对大数据的学科,高能物理科学家往往需要从大量的数据中去发现一些小概率的粒子事件,这跟大海捞针一样。目前世界上最大的高能物理实验装置是在日内瓦欧洲核子中心(CERN)的大型强子对撞机(Large Hadron Collider,LHC),如图1-7所示,其主要物理目标是寻找希格斯(Higgs)粒子。高能物理中的数据处理较为典型的是采用离线处理方式,由探测器组负责在实验时获取数据,现在最新的 LHC 实验每年采集的数据达到 15PB。高能物理中的数据特点是海量且没有关联性,为了从海量数据中甄别出有用的事件,可以利用并行计算技术对各个数据文件进行较为独立的分析处理。中国科学院高能物理研究所的第三代探测器BESⅢ产生的数据规模已达到 10PB 量级,在大数据条件下,计算、存储、网络一直考验着高能所的数据中心系统。在实际数据处理时 BESⅢ数据分析甚至需要通过网格系统调用俄罗斯、美国、德国及国内的其他数据中心来协同完成任务。图1-7 大型强子对撞机(LHC)

二、推荐系统

推荐系统可以利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么东西,模拟销售人员帮助客户完成购买过程。我们经常在上网时看见网页某个位置出现一些商品推荐或者系统弹出一个商品信息,而且这些商品可能正是我们自己感兴趣或者正希望购买的商品,这就是推荐系统在发挥作用。目前推荐系统已变得无处不在,如商品推荐、新闻推荐、视频推荐,推荐方式包括网页式推荐、邮件推荐、弹出式推荐。例如,在京东商城查找你想购买关于云计算和大数据相关的书籍时,系统会根据你近期搜索的关键词列出人气指数排行较高的书供你参考选择,如图1-8所示。图1-8 京东商城书籍推荐页面

推荐过程的实现完全依赖于大数据,在进行网络访问时访问行为被各网站所记录并建立模型,有的算法还需要与大量其他人的信息进行融合分析,从而得出每一个用户的行为模型,将这一模型与数据库中的产品进行匹配从而完成推荐过程。为了实现这一推荐过程,需要存储大量客户的访问信息,对于用户量巨大的电子商务网站,这些信息的数据量是非常庞大的。推荐系统是大数据非常典型的应用,只有基于对大量数据的分析,推荐系统才能准确地获得用户的兴趣点。一些推荐系统甚至会结合用户社会网络来实现推荐,这就需要对更大的数据集进行分析,从而挖掘出数据之间广泛的关联性。推荐系统使大量看似无用的用户访问信息产生了巨大的商业价值,这就是大数据的魅力。

三、搜索引擎系统

搜索引擎是大家最为熟悉的大数据系统,成立于 1998 年的谷歌和成立于 2000 年的百度在简洁的用户界面下面隐藏着世界上最大规模的大数据系统。搜索引擎是简单与复杂的完美结合,目前最为常用的开源系统 Hadoop 就是按照谷歌的系统架构设计的。图 1-9 所示为百度搜索页面。

为了有效地完成互联网上数量巨大的信息的收集、分类和处理工作,搜索引擎系统大多是基于集群架构的。中国出现较早的搜索引擎还有北大天网搜索,天网搜索在早期是由几百台PC搭建的机群构建的,这一思路也被谷歌所采用,谷歌由于早期搜索利润的微薄只能利用廉价服务器来实现。每一次搜索请求可能都会有大量的服务响应,搜索引擎是一个典型而成熟的大数据系统,它的发展历程为大数据研究积累了宝贵的经验。2003 年在北京大学召开了第一届全国搜索引擎和网上信息挖掘学术研讨会,大大推动了搜索引擎在国内的技术发展。搜索引擎与数据挖掘技术的结合预示着大数据时代的逐步到来,从某种意义上可以将这次会议作为中国在大数据领域的第一次重要学术会议,如图1-10所示。当时百度还未上市,但派出不少工程师参加了此次会议。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载