《Hadoop大数据开发实战》教学教案-01初识Hadoop_第1页
《Hadoop大数据开发实战》教学教案-01初识Hadoop_第2页
《Hadoop大数据开发实战》教学教案-01初识Hadoop_第3页
《Hadoop大数据开发实战》教学教案-01初识Hadoop_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《Hadoop大数据开发实战》教学设计课程名称:Hadoop大数据开发实战授课年级:_____________授课学期:______________教师姓名:_______________课程名称第1章初识Hadoop计划学时2学时内容分析本章主要介绍大数据简介、大数据技术的核心需求、Hadoop简介、离线数据分析流程介绍、大数据学习流程教学目标与教学要求要求学生了解大数据的概念、熟悉大数据的应用场景、了解Hadoop框架、了解大数据学习流程教学重点Hadoop简介、离线数据分析流程介绍、大数据学习流程教学难点离线数据分析流程介绍、大数据学习流程教学方式课堂讲解及ppt演示教学过程第一课时(大数据简介、大数据技术的核心需求)介绍本书,引出本课时主题1.介绍本书,引出本课时的主题随着新一代信息技术的迅猛发展和深入应用,数据的规模不断扩大,数据已日益成为土地、资本之后的又一种重要的生产要素,和各个国家和地区争夺的重要资源,谁掌握数据的主动权和主导权,谁就能赢得未来。美国奥巴马政府将数据定义为“未来的新石油”,认为一个国家拥有数据的规模、活性及解释运用的能力将成为综合国力的重要组成部分,对数据的占有和控制将成为陆权、海权、空权之外的另一个国家核心权力。一个全新的概念——大数据开始风靡全球。本节将学习大数据简介和大数据技术的核心需求的现关内容。2.明确学习目标能够熟悉大数据的五大特征能够了解大数据的六大发展趋势能够了解大数据在电商行业、交通行业、医疗行业的应用能够理解大数据核心技术需求知识讲解大数据简介从前,人们用饲养的马来拉货物。当一匹马拉不动一车货物时,人们不曾想过培育一匹更大更壮的马,而是利用更多的马。同样的,当一台计算机无法进行海量数据计算时,人们也无需去开发一台超级计算机,而应尝试着使用更多计算机。下面来看一组令人瞠目结舌的数据:2018年11月11日,支付宝总交易额2135亿元,支付宝实时计算处理峰值为17.18亿条/秒,天猫物流订单量超过10亿……这场狂欢的背后是金融科技的护航,正是因为阿里巴公司拥有中国首个具有自主知识产权、全球首个应用在金融核心业务的分布式数据库平台OceanBase,海量交易才得以有序地进行。分布式集群具有高性能、高并发、高一致性、高可用性等优势,远远超出单台计算机的能力范畴。大数据的五大特征大数据(BigData),是指数据量巨大,无法使用传统工具进行处理的数据集合。通常认为,大数据的典型特征主要体现在以下5个方面:大量(Volume)、高速(Velocity)、多样(Varity)、价值(Value)、真实性(Veracity),即所谓的“5V”。1.大量(Volume)大数据的特征首先就是数据规模巨大。随着互联网、物联网、移动互联等技术的发展,人和事物的所有轨迹都可以被记录下来,数据呈现爆发性增长,需要分析处理的数据量达到PB、EB,乃至ZB级。数据相关计量单位的换算关系如表所示。单位换算公式Byte1Byte=8bitKB1KB=1024ByteMB1MB=1024KBGB1GB=1024MBTB1TB=1024GBPB1PB=1024TBEB1EB=1024PBZB1ZB=1024EB2.高速性(elocity)数据的增长速度和处理速度是大数据高速性的重要体现。生活中每个人都离不开互联网,也就是说每个人每天都在向大数据提供大量的资料。与以往的报纸、书信等传统数据载体的传播方式不同,在大数据时代,数据的交换和传播主要通过互联网和云计算等方式实现,速度惊人。正因为如此,在大数据时代,数据的交换和传播主要通过互联网和云计算等方式实现,速度惊人。正因为如此,大数据对处理和响应速度要求极高。一条数据的分析必须在几秒内完成,数据处理与丢弃几乎无延迟。3.多样性(Variety)大数据具有多样性,不同的数据产生海量的非结构化数据。大数据可以分为三类,一是结构化数据,如财务系统数据、信息管理系统数据、医疗系统数据等,其特点是数据间因果关系强;二是半结构化数据,如HTML文档、邮件、网页等,其特点是数据间因果关系弱;三是非结构化数据,如视频、图片、音频、文本等,其特点是数据间没有因果关系。半结构化、非结构化数据需要经过清洗、整理、筛选、推进科学研究的效果。4.价值(Value)大数据的核心特征是价值密度低。由于数据样本不全面,数据采集不及时,数据不连续等原因,有价值的数据所占比例很小。与传统的小数据相比,大数据最大的价值在于,可以从大量不相关的各种类型的数据中,挖掘出对未来趋势与模式预测分析有用的数据,通过机器学习、人工智能或数据挖掘等方法深度分析,得到新规律和新知识,并运用于交通、电商、医疗等各个领域,最终达到提高生产效率、推进科学研究的效果。5.真实性(Veracity)大数据的重要性就在于对决策的支持,数据的规模并不能决定其能否为决策提供帮助,数据的真实性和质量才是成功决策最坚实的基础。真实是对大数据的重要要求,也是大数据面临的巨大挑战。大数据的六大发展趋势虽然现在大数据仍处在发展的起步阶段,还存在着很多的困难与挑战,但随着时间的推移,大数据未来的发展前景是非常可观的。1.数据将呈现指数级增长2.数据将成为最有价值的资源3.大数据和传统行业智能融合4.数据将越来越开放5.大数据安全将备受重视6.大数据人才将备受欢关于发展趋势的详细介绍参见教材1.1.2节内容。大数据在电商平台的应用当用户在一些电商平台购买商品时,将商品加入购物车,会显示购买了该商品的用户还购买了哪些商品,如图所示。结算时,会又显示“猜你喜欢”的商品信息,如图所示,这些功能都用到了大数据技术,是对大量的用户浏览记录进行统计分析后做出的精准推送。精准广告推送的推送依赖于对海量互联网用户的相关数据统计分析,其核心是用户画像,这就需要一个分布式的快速响应的海量数据库系统。大数据在交通行业的应用目前,出行难的问题在各大城市来说都亟待解决,好在现在可以利用先进的传感技术、网络技术、计算技术、控制技术、智能技术,对道路交通进行全面的监控和疏导。在大数据时代,智慧交通需要融合传感器、监控视频和GPS等设备产生的海量数据,甚至参考气象监测设备产生的天气状况数据,从中提取出人们真正需要的信息,及时而准确地进行发布和传送,并通过计算直接提供最佳的出行方式和路线。大数据在医疗行业的应用除了新兴行业,传统行业也需要大数据,例如:医疗行业要分析大量的病例、买药行为记录、诊断数据。在大数据时代,可以将医疗机构的电子病历标准化,形成全方位、多维度的大数据仓库。系统首先全面分析患者的基本资料、诊断结果、药方、医疗保险情况和付款记录等诸多数据,然后将分析结果综合起来,在医生的参与下通过决策支持系统选择最佳医疗解决方案。大数据技术的核心需求大数据技术,基本上都需要解决两个核心需求,一个是数据存储,一个是数据运算。数据存储:将数据(文件)分散到一个集群上的多台机器上存储。数据运算:数据分析要通过程序来实现,程序的运行最终又是机器的CPU、内存、磁盘等硬件的运行,这些运行就是运算。简单点理解,大数据技术就是将大量的数据分割成多个小块,由多台计算机分工计算,然后将结果汇总。执行分布式计算的计算机总称集群,如果把人和计算机做类比,那么集群就是一个团队,如图所示。单兵作战的时代已经过去,团队合作才是王道。为什么需要分布式计算?因为“大数据”来了,单个计算机不够用了,即数据量远远超出单个计算机的处理能力范围:有时是单位时间内的数据量大,比如在12306网站每秒可能有数以万计的访问;有时是数据总量大,比如百度搜索引擎要在服务器上检索数亿条的中文网页信息。在大数据体系下,一切数据运算逻辑的实现,都要靠分布式运算系统。实现分布式计算的方案有很多,真正让大数据技术大踏步前进的是按照Google理论实现的开源免费产品Hadoop,目前已经形成了以Hadoop为核心的大数据技术生态圈。第二课时(Hadoop简介、离线数据分析流程介绍、大数据学习流程)回顾内容,引出本课时主题1.回顾内容,引出本课时的主题上节介绍了大数据和大数据技术的核心需求,本节将介绍Hadoop、离线数据分析流程和大数据学习流程的相关内容。2.明确学习目标能够简单了解Hadoop能够理解Hadoop的产生和发展能够熟悉Hadoop的优缺点和版本信息能够掌握Hadoop生态圈的相关组件能够了解Hadoop应用介绍能够掌握离线数据分析流程能够了解大数据的学习流程知识讲解什么是HadoopHadoop是Apache旗下的开源软件平台,是一种分布式框架,可利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理。Hadoop有三个基本组件:HDFS(HadoopDistributedFileSystem,分布式文件系统)负责分布式存储,MapReduce负责分布式运算,YARN(YetAnotherResourceNegotiator,另一种资源协调者)为MapReduce提供硬件资源调度。但是Hadoop的核心组件处于底层,直接基于这个底层框架来设计数据分析逻辑结构比较烦琐,开发效率很低,所以在Hadoop框架之上,又衍生了Hive这样的快捷开发工具,后面的张章节详细讲解。广义上说,Hadoop通常是一个更广泛的概念——Hadoop生态圈,包括Hadoop、Hive、HBase、Flume、Kafka、Sqoop、Spark、Flink等。Hadoop的产生和发展Hadoop最早起源于Nutch。Nutch

是一个Java实现的开源搜索引擎。Nutch的设计目标是构建一个大型的全网搜索引擎,这个搜索引擎具备网页抓取、索引、查询等功能,但随着抓取网页数量的增加,Nutch遇到了严重的问题——如何存储数十亿个网页和对信息建立索引。2003年、2004年谷歌发表的两篇论文为以上问题提供了解决方案。论文内容主要涉及以下两个框架。(1)分布式文件系统(GFS,GoogleFileSystem),主要用于海量数据的存储。(2)分布式计算框架(MapReduce),主要用于海量数据的索引计算。Nutch的开发人员根据谷歌的GFS和MapReduce,完成了开源版本的NDFS和MapReduce。2006年2月,Nutch的NDFS和MapReduce发展成独立的项目Hadoop。2008年,Hadoop成为Apache的顶级项目。同年,Hadoop成为最快的TB级数据排序系统。自此以后,Hadoop逐渐被企业应用于生产,处理大数据的速度越来越快。目前,Hadoop已经被主流企业广泛使用。Hadoop的优缺点1.Hadoop的优点(1)Hadoop具有按位存储和处理数据的高可靠性。(2)Hadoop通过可用的计算机集群分配数据,完成存储和计算任务,这些集群可以扩展到数以千计的节点中,具有高扩展性。(3)Hadoop能够在节点之间移动数据,并保证各个节点的动态平衡,处理速度非常快,具有高效性。(4)Hadoop能够自动保存数据的多个副本,并自动将失败的任务重新分配,具有高容错性。2.Hadoop的缺点(1)Hadoop不适用于低延迟数据访问。(2)Hadoop不能高效存储大量小文件。(3)Hadoop不支持多用户写入并任意修改文件。Hadoop版本介绍Hadoop自诞生以来,主要出现了Hadoop1.0、Hadoop2.0、Hadoop3.0三个系列多个版本。HDFS和MapReduce是Hadoop1.0的核心组件,Hadoop生态圈里的很多组件都是基于HDFS和MapReduce发展而来的。Hadoop1.0之后出现了Hadoop2.0,Hadoop2.0在Hadoop1.0的基础上做了改进。相比Hadoop1.0,Hadoop2.0的三大核心组件分别是HDFS、MapReduce、YRAN。目前绝大部分企业使用的是Hadoop2.0,本书采用的是Hadoop2.7.3这一版本。Hadoop2.0的一个公共模块和三大核心组件组成了四个模块,简介如下。(1)HadoopCommon:为其他Hadoop模块提供基础设施。(2)HDFS:具有高可靠性、高吞吐量的分布式文件系统。(3)MapReduce:基于Yarn系统,分布式离线并行计算框架。(4)YARN:负责作业调度与集群资源管理的框架。Hadoop生态圈的相关组件除了HDFS、MapReduce、YARN三大核心组件,Hadoop生态圈的其他组件还有Zookeeper、MySQL、Hive、HBase、Flume、Sqoop。Hadoop生态圈各组件的说明,如表所示。组件含义HDFS分布式文件系统MapReduce分布式计算框架Yarn分布式资源管理框架Zookeeper分布式协调服务Oozie作业流调度系统Hive数据仓库工具Hbase分布式海量数据库Flume数据采集工具Sqoop数据传输工具这些组件在后面的章节中会详细讲解。Hadoop应用介绍1.Hadoop用于用户画像2.Hadoop用于数据挖掘3.Hadoop应用于数据服务基础平台建设关于应用的具体信息参见教材1.3.6节内容。国内Hadoop的就业情况分析1.Hadoop就业整体情况2.Hadoop就业职位要求3.Hadoop相关职位的薪资水平关于Hadoop就业整体情况分析详情参见教材1.3.7节内容。分布式系统概述分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅通过消息传递进行通信和协调的系统。由于大数据技术领域的各类技术框架基本上都是分布式系统,因此,理解Hadoop、Storm、Spark等技术框架,都需要具备基本的分布式系统概念。分布式系统,简单来说就是一群独立计算机集合共同对外提供服务,但是对于系统的用户来说,就像是一台计算机在提供服务一样。分布式意味着可以采用更多的普通计算机(相对于昂贵的大型机)组成分布式集群对外提供服务。计算机越多,CPU、存储资源等也就越多,能够处理的并发访问量也越大。在分布式系统中,计算机之间的通信和协调主要通过网络进行,所以,在空间上几乎没有任何限制,这些计算机可能被放在不同的机房中,也可能被部署在不同的机房中,还可能在不同的城市里,甚至分布在不同的国家和地区。离线数据分析流程介绍本节通过综合项目“网站或App点击流日志数据挖掘系统”感受数据分析宏观概念及处理流程,初步理解Hadoop等框架在其中的应用环节。应用广泛的数据分析系统:“Web日志数据挖掘”如图所示。1.项目需求描述点击流日志包含着网站运营重要信息,通过日志分析,可以知道网站的访问量,哪个网页访问人数最多,哪个网页最有价值,了解广告转化率、访客的来源信息,访客的终端信息等。2.数据来源本项目的数据主要由用户的点击行为。获取方式:在页面预埋一段JavaScript程序,为页面上想要监听的标签绑定事件,只要用户点击或移动到标签,即发送Ajax请求到后台Servlet程序,用Log4j记录下事件信息,从而在Web服务器(Nginx、Tomcat等)上形成不断增长的日志文件。3.数据处理流程(1)流程图解析本项目与典型的BI(BusinessIntelligence,商业智能)系统极其类似,整体流程如图所示。但是,由于本项目的前提是处理海量数据,因此,流程中各环节所使用的技术则跟传统BI完全不同,后续课程都会一一讲解:数据采集:定制开发采集程序,或使用开源框架Flume。数据预处理:定制开发MapReduce程序运行于Hadoop集群。数据仓库技术:基于Hadoop的Hive。数据导出:基于Hadoop的Sqoop数据导入导出工具。数据可视化:定制开发Web程序或使用Kettle等产品。整个过程的流程调度:Hadoop生态圈中的Oozie工具或其他类似开源产品。(2)项目技术架构图项目技术架构图如图所示。4.项目最终结果经过完整的数据处理流程后,系统会周期性输出各类统计指标的报表,在生产实践中,最终需要将这些报表数据以可视化的形式展现出来,本项目采用Web程序来实现数据可视化,效果如图所示。大数据学习流程大数据技术是一项综合技术,要求开发者既要具备良好的Java基础,又要对数据敏感,并掌握主流大数据开发、数据挖掘和机器学习等技能。在Java基础学习阶段,学完Java的基本语法后,应尝试用Java完成分析案例,目的是对前面所学的知识进行巩固,活学活用,提高编程能力和对数据的敏感度。在大数据技术学习阶段,目前最流行的莫过于Hadoop、Spark和Elast

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论