大数据技术应用428_第1页
大数据技术应用428_第2页
大数据技术应用428_第3页
大数据技术应用428_第4页
大数据技术应用428_第5页
已阅读5页,还剩423页未读 继续免费阅读

下载本文档

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

文档简介

大数据技术应用第一章概论课程导学课程特点理论结合实际,注重实操案例丰富,讲解细致结合1+X考试理论试题解析学习方法多记、多想、多练结合蓝桥实验楼线上实验实操预习检查请老师根据课前布置的预习内容《第一章概述》中的文档1【概述】进行提问问题1:大数据的起源是来源于谷歌的什么技术的开源?问题2:大数据的特征有哪些?问题3:列举生活中哪些应用场景是大数据实时性计算场景?本章目标重难点提示重点:大数据的发展历史重点:大数据的特征重点:大数据的离线计算与实时计算本章任务对大数据有一个大致的了解,能够面对同学复述其中的重点知识知识点对大数据的历史、现状与未来大数据的概念、特征与价值大数据的技术架构大数据离线计算与实时计算大数据下的数据驱动大数据的历史、现状与未来大数据的历史

第一个阶段:萌芽时期(20世纪90年代至21世纪初)。

第二个阶段:发展时期(21世纪初至2010年)。

第三个阶段:兴盛时期(2011年至今)。云课文档:第一章概述大数据的历史、现状与未来大数据的现状

大数据应用分为三个层次:

第一层,描述性分析应用。

第二层,预测性分析应用。

第三层,指导性分析应用。大数据的历史、现状与未来大数据的未来

大数据的趋势特点: 1.结合智能计算的大数据成为热点。 2.跨学科、跨领域的数据融合与应用将成为今后大数据应用发展的重点方向。 3.大数据安全和隐私。 4.各种可视化技术和工具提升大数据应用价值。大数据的概念、特征与价值大数据的概念 1.信息交换。 2.信息存储。 3.信息处理。大数据的概念、特征与价值大数据的特征 1.数据量大(Volume)。 2.增长、处理速度快(Velocity)。 3.种类和来源多(Variety)。 4.价值密度低(Value)。 5.数据的准确性(Veracity)。大数据的概念、特征与价值大数据的价值 1.数据辅助决策。 2.数据驱动业务。 3.数据对外变现。大数据的技术架构根据大数据从来源到应用,可以将大数据技术架构分为: 1.数据源层。 2.数据收集层。 3.数据存储层。 4.数据处理层。 5.数据建模层。 6.数据应用层。大数据离线计算与实时计算大数据离线计算 1.大数据离线计算概述。 2.大数据离线计算的特点。 3.大数据离线计算应用场景。 4.大数据离线计算的局限与优势。大数据离线计算与实时计算大数据实时计算 1.大数据实时计算概述。 2.大数据实时计算的特点。 3.大数据实时计算应用场景。 4.大数据实时计算与离线计算的区别。大数据下的数据驱动大数据驱动的价值 1.驱动决策。 2.驱动产品智能。大数据下的数据驱动企业实际数据驱动现状 1.排队等待工程师跑数据。 2.仪表盘只能看到宏观数据。 3.无法跨越数据孤岛的屏障。大数据下的数据驱动理想的数据驱动模式

先把数据源整好,在这个基础上提供强大的分析平台,让业务需求提出者能够自助式(Self-Service)地完成数据分析需求,从串行变成并行,完成需求从几天时间缩短到几分钟甚至几秒钟,这才是理想中的数据驱动。1+X考试考题解析考察知识点:大数据的历史 1、大数据的萌芽是以什么作为标志开始的?

A.开源项目Nutch的成立 B.谷歌的2篇论文GFS和MapReduce的发表 C.大数据这一概念首次出现在《Science》杂志上 D.谷歌发表BigTable论文1+X考试考题解析考察知识点:大数据的历史 1、大数据的萌芽是以什么作为标志开始的?

A.开源项目Nutch的成立 B.谷歌的2篇论文GFS和MapReduce的发表 C.大数据这一概念首次出现在《Science》杂志上 D.谷歌发表BigTable论文

解答:大数据的萌芽是以谷歌发表的2篇论文GFS和MapReduce作为标志的。所以答案为B。1+X考试考题解析考察知识点:大数据的特征 2、大数据的特征包含哪些?

A.计算速度快 B.数据种类多 C.价值密度低 D.数据量大1+X考试考题解析考察知识点:大数据的特征 2、大数据的特征包含哪些?

A.计算速度快 B.数据种类多 C.价值密度低 D.数据量大

解答:大数据的特征包括:数据量大,增长、处理速度快,种类、来源多,价值密度低,数据的准确性。所以答案为ABCD。问题解答学生共性问题解答本章总结思维导图作业课后作业教员备课时根据班级情况在此添加内容,应区分必做、选做内容,以满足不同层次学员的要求。预习作业教员备课时根据班级情况在此添加预习内容大数据技术应用第二章初识Hadoop课程导学课程特点理论结合实际,注重实操案例丰富,讲解细致结合1+X考试理论试题解析学习方法多记、多想、多练结合蓝桥实验楼线上实验实操预习检查请老师根据课前布置的预习内容《第二章初识Hadoop》中的实验1【初识Hadoop】进行提问问题1:问题2:本章目标重难点提示重点:Hadoop安装部署重点:Hadoop启动、关闭命令本章任务自己安装部署Hadoop环境,并启动、关闭Hadoop知识点Hadoop概述Hadoop生态圈Hadoop安装部署Hadoop概述Hadoop简介 Hadoop是一个开源的,可靠的、可扩展的分布式存储和计算框架,它基于Java语言开发,具有很好的跨平台特性,它允许用户使用简单的编程模型在廉价的计算机集群上对大规模数据集进行分布式处理。

目前,Hadoop在业内得到了广泛应用。在工业界,Hadoop已经是公认的大数据通用存储和分析平台,许多厂商都围绕Hadoop提供开发工具、开源软件、商业化工具和技术服务,例如谷歌、雅虎、微软、淘宝等都支持Hadoop。另外,还有一些专注于Hadoop商业化的公司,例如Cloudera和Hortonworks都可以提供商业化的Hadoop支持。云课实验:第二章初识HadoopHadoop概述Hadoop特点 1.高可靠性。 2.高可扩展性。 3.高性能。 4.低成本。 5.支持多种平台。 6.支持多种编程语言。Hadoop概述Hadoop版本

ApacheHadoop版本分为三代,分别称为Hadoop1.0、Hadoop2.0、Hadoop3.0。

第一代Hadoop包含0.20.x、0.21.x和0.22.x三大版本。

第二代Hadoop包含0.23.x和2.x两大版本。

第三代即Hadoop3.0具有许多重要的增强功能。Hadoop生态圈Hadoop2.0生态系统包括

HDFS(Hadoop分布式文件系统)。 YARN(一种分布式资源管理器)。

Mapreduce(一种分布式计算框架)。 Tez(一种DAG计算框架)。

Storm(一种流式计算框架)。

Spark(一种内存计算框架)。

Hive(一种数据仓库)。

Pig(一种基于MapReduce的并行处理框架)。

Mahout(数据挖掘算法库)。

Oozie(一种工作流调度器)。

HBase(分布式列存数据库)。

Sqoop(数据同步工具)。

Flume(日志收集工具)。

Zookeeper(分布式协作服务)。

Ambari(安装部署配置管理工具)。Hadoop安装部署Hadoop集群的重要概念 1.NameNode进程。 2.SecondaryNameNode进程。 3.DataNode进程。 4.ResourceManager进程。 5.NodeManager进程。Hadoop安装部署伪分布式模式安装 1.下载Hadoop。 2.安装Hadoop。 3.配置Hadoop。 3.1.配置

hadoop-env.sh。 3.2.配置

core-site.xml。 3.3.配置

hdfs-site.xml。 3.4.配置

mapred-site.xml。 3.5.配置

yarn-site.xml。 3.6.配置slaves。 4.格式化文件系统。 5.启动Hadoop并验证。 6.关闭Hadoop。Hadoop安装部署全分布式模式安装

集群环境准备: 1.准备机器。 2.配置静态IP。 3.修改主机名。 4.编辑域名映射。 5.关闭防火墙。 6.关闭selinux。 7.创建普通用户。 8.使用secureCRT远程登录普通用户。 9.安装和配置SSH免密登录。 10.规划安装目录。 11.安装和配置Java。Hadoop安装部署全分布式模式安装

集群安装过程: 1.下载Hadoop。 2.安装Hadoop。 3.配置Hadoop。 3.1.配置

hadoop-env.sh。 3.2.配置

core-site.xml。 3.3.配置

hdfs-site.xml。 3.4.配置

mapred-site.xml。 3.5.配置

yarn-site.xml。 3.6.配置slaves。 4.格式化文件系统。 5.启动Hadoop并验证。 6.关闭Hadoop。1+X考试考题解析考察知识点:Hadoop安装部署 1、配置Hadoop时,哪一项参数表示副本的数量?

A.dfs.replication B.dfs.secondary.http.address C.hadoop.tmp.dir D.fs.defaultFS1+X考试考题解析考察知识点:Hadoop安装部署 1、配置Hadoop时,哪一项参数表示副本的数量?

A.dfs.replication B.dfs.secondary.http.address C.hadoop.tmp.dir D.fs.defaultFS

解答:A.dfs.replication表示集群副本的数量;B.dfs.secondary.http.address表示SecondaryNamenode的地址;C.hadoop.tmp.dir表示运行时产生的临时文件的目录;D.fs.defaultFS表示HDFS中的NameNode的地址。所以答案为A。1+X考试考题解析考察知识点:Hadoop进程 2、hadoop集群中hdfs启动后,会启动哪些进程?

A.NameNode B.DataNode C.SecondaryNameNode D.ResourceManager1+X考试考题解析考察知识点:Hadoop进程 2、hadoop集群中hdfs启动后,会启动哪些进程?

A.NameNode B.DataNode C.SecondaryNameNode D.ResourceManager

解答:hadoop集群如果只启动hdfs的话,那么会启动NameNode、SecondaryNameNode和DataNode三个进程;如果再启动yarn的话,那么会启动ResourceManager和DataNode两个进程。所以答案为ABC。1+X考试考题解析考察知识点:Hadoopweb访问端口 3、Hadoop集群启动成功后,哪个web端口表示HDFS的访问端口?

A.8080 B.50070 C.8088 D.500901+X考试考题解析考察知识点:Hadoopweb访问端口 3、Hadoop集群启动成功后,哪个web端口表示HDFS的访问端口?

A.8080 B.50070 C.8088 D.50090

解答:A.8080为浏览器默认的端口;B.50070为HDFS的默认端口;C.8088为YARN的默认端口;D.50090为SecondaryNamenode的端口。所以答案为B。问题解答学生共性问题解答本章总结思维导图作业课后作业教员备课时根据班级情况在此添加内容,应区分必做、选做内容,以满足不同层次学员的要求。预习作业教员备课时根据班级情况在此添加预习内容大数据技术应用第三章分布式文件系统HDFS课程导学课程特点理论结合实际,注重实操案例丰富,讲解细致结合1+X考试理论试题解析学习方法多记、多想、多练结合蓝桥实验楼线上实验实操预习检查请老师根据课前布置的预习内容《第三章分布式文件系统HDFS》中的实验2【分布式文件系统HDFS】进行提问问题1:问题2:本章目标重难点提示重点:HDFS工作机制重点:HDFSShell操作本章任务熟悉HDFSShell的各种命令知识点HDFS概述HDFS工作机制HDFS操作与编程接口HDFS概述HDFS文件系统的基本特征 1.高容错性。 2.数据容量大。 3.可扩展性。 4.高吞吐量。云课实验:第三章分布式文件系统HDFSHDFS概述HDFS应用场景 1.需要存储非常大的文件:这里非常大指的是GB、或者TB级别,需要高吞吐量,对延时没有要求。 2.一次写入、多次读取:即历史数据没有频繁变化的需求。 3.硬件成本预算低:期望由普通廉价机器完成存储任务。 4.需要高容错性:数据自动保存多个副本,副本丢失后自动恢复。 5.需要根据数据规模变化方便地扩容:HDFS集群可以横向扩展,当集群增加新节点之后,NameNode自动感知,将数据分发和备份到相应的节点上。HDFS概述HDFS架构HDFS工作机制HDFS通信机制 HDFS通信协议有两种,一种是HadoopRPC接口,一种是流式接口,这两种接口各自有各自的分工,前者主要是负责连接的管理、节点的管理以及一些数据的管理,而后者主要负责数据的读写传输。

HadoopRPC接口

HadoopRPC接口是基于ProtoBuf实现的,ProtoBuf是谷歌的一种数据格式,类似于XML,这里不做细究。HadoopRPC的接口主要有ClientProtocol,ClientDatanodeProtocol,DatanodeProtocol,InterDatanodeProtocol,NamenodeProtocol这几个,它们都是节点间的主要通信接口。

流式接口

流式接口有两种,一种是基于TCP的DataTransferProtocol接口,另一种是HA机制的ActiveNameNode和StandbyNameNode间的HTTP接口,第二种先不说。HDFS工作机制HDFS数据冗余机制

文件块(Block)

HDFS中的数据以文件块Block的形式存储,Block是最基本的存储单位,每次读写的最小单元是一个Block。对于文件内容而言,假设一个文件的长度大小是N,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block。Hadoop2.0中默认Block大小是128MB,以一个N=256MB的文件为例,它被切分成256/128=2个Block。Block的大小可以根据实际需求进行配置,可以通过HDFS配置文件

hdfs-site.xml

中的参数dfs.blocksize来定义块大小,但要注意,数字必须是2的k次幂。如果文件的大小不是Block大小的整数倍,这时最后不足128MB的文件部分单独作为一个块。例如,一个文件大小是260MB,那么在Hadoop2.0中占用三个块,第三个块只使用了4MB。

数据冗余机制 1.第一个副本块存放在本机上。 2.第二个副本块存跟本机同机架(Rack)内的其它服务器节点上。 3.第三个副本块存不同机架(Rack)内的一个服务器节点上。HDFS工作机制HDFS元数据管理机制

元数据概述

HDFS的元数据,按类型分,主要包括以下两种:

文件的属性信息,例如文件名,目录名,修改信息等。

文件块的属性信息,例如存储块信息,分块情况,副本个数等。 HDFS的元数据,按形式分,包括内存元数据和元数据文件两种,分别存储在内存和磁盘上。其中HDFS上的元数据文件又分为两类: FsImage镜像文件:包含Hadoop文件系统中的所有目录和文件元数据信息,但不包含文件块位置的信息。文件块位置信息只存储在内存中,是在DataNode加入集群时,由NameNode询问DataNode得到的,并且不停地更新。 Edits编辑日志:存放的是Hadoop文件系统的所有更改操作(文件创建,删除或修改)的日志,文件系统客户端执行的更改操作首先会被记录到Edits日志文件中。HDFS工作机制HDFS元数据管理机制

元数据相关文件

1.NameNode上的元数据。

NameNode上的元数据存储在

hadoop.tmp.dir/dfs/name/current

目录下,按照内容可以分为5种类型文件:

edits_*:二进制文件,主要记录对HDFS的增删改操作的信息,类似于MySQL的二进制日志。edits_inprogress_*:二进制文件,主要记录最新的对HDFS的增删改操作的信息日志,是目前正在使用的。

fsimage_*:二进制文件,HDFS数据的元数据文件。记录HDFS文件系统中各个数据块的信息,但并不是最新的。需要定时将Edits文件合并到这里,才是最新的。

fsimage_*.md5:是

fsimage_*

文件的md5校验文件,这个校验文件是为了判断

fsimage_*

文件是否被修改。 seen_txid:保存的是一个数字,就是最后一个

edits_inprogress_*

文件名中的数字。 2.DataNode上的元数据。 DataNode上的元数据存储在

hadoop.tmp.dir/dfs/data/current

目录下。HDFS工作机制元数据工作机制

HDFS工作机制HDFS数据读写机制

数据读取机制

HDFS工作机制HDFS数据读写机制

数据写入机制

HDFS工作机制HDFS异常恢复机制

读异常与恢复

读文件时可能发生的异常有两种:

读取过程中DataNode挂了。

读取到的文件数据损坏。写异常与恢复

写文件时可能发生的异常有三种: Client在写入过程中,自己挂了。 Client在写入过程中,有DataNode挂了。 Client在写入过程中,NameNode挂了。HDFS工作机制HDFS安全模式机制

安全模式是Hadoop的一种保护机制,用于保证集群中的数据块的安全性。当系统处于安全模式时会检查数据块的完整性。假设我们设置的副本数(即参数dfs.replication)是5,那么在DataNode上就应该有5个副本存在,假设只存在3个副本,那么比例就是3/5=0.6。在配置文件hdfs-default.xml中定义了一个最小的副本率0.999,使用参数dfs.safemode.threshold.pct来设置。我们的副本率0.6明显小于0.999,因此系统会自动的复制副本到其它的DataNode上,使得副本率不小于0.999。如果系统中有8个副本,超过我们设定的5个副本,那么系统也会删除多余的3个副本。HDFS操作与编程接口HDFSWeb HDFSWebUI提供服务器基础统计信息和文件系统运行状态的查看功能,从该页面上,可以查看当前文件系统中各个节点的分布信息,浏览NameNode上的存储、登录等日志,以及下载某个数据节点上某个文件的内容。HDFSWebUI地址为

http://NameNodeIP:50070,进入后可以看到当前HDFS文件系统的Overview、Summary、NameNodeJournalStatus、NameNodeStorage等信息。首页中Datanodes选项卡下显示当前配置的DataNode节点基本信息,DatanodeVolumeFailures选项卡下显示日志中已经记录的数据节点失败信息,Snapshot选项卡下显示快照信息,StartupProgress选项卡中显示系统启动进度信息例如元数据文件FsImage、日志EditLog等的加载进度,在Utilities选项卡中包括了一些实用工具,例如文件系统查询和浏览功能。HDFS操作与编程接口HDFSShell 1.ls。 11.copyFromLocal。 21.expunge。 2.ls-R。 12.moveFromLocal。 3.du。 13.getmerge。 4.du-s。 14.cat。 5.count。 15.text。 6.mv。 16.mkdir。 7.cp。 17.chmod。 8.rm。 18.chown。 9.rm-r。 19.chgrp。 10.put。 20.setrep。 HDFS操作与编程接口HDFSJavaAPI编程 1.往HDFS上传文件 2.从HDFS上下载文件到本地 3.创建目录 4.删除目录 5.重命名 6.查看文件信息

1+X考试考题解析考察知识点:HDFS文件块大小 1、

Hadoop2.0中默认Block大小是多少?

A.64MB B.128MB C.256MB D.512MB1+X考试考题解析考察知识点:HDFS文件块大小 1、

Hadoop2.0中默认Block大小是多少?

A.64MB B.128MB C.256MB D.512MB

解答:Hadoop1.0中Block块的大小默认是64MB,Hadoop2.0中Block块的大小默认是128MB。所以答案为B。1+X考试考题解析考察知识点:HDFS文件副本数 2、

HDFS中文件块默认的副本数目是?

A.1 B.2 C.3 D.41+X考试考题解析考察知识点:HDFS文件副本数 2、

HDFS中文件块默认的副本数目是?

A.1 B.2 C.3 D.4

解答:HDFS中文件块默认的副本数目是3。所以答案为C。1+X考试考题解析考察知识点:HDFS文件存储副本策略 3、

HDFS中文件存储副本策略有哪些? A.第一个副本随机存放在本机架上的某个节点上。 B.第一个副本块存放在本机上。 C.第二个副本块存在与本机同机架上的其他服务器节点上。 D.第三个副本块存在不同机架上的一个随机服务器节点上。1+X考试考题解析考察知识点:HDFS文件存储副本策略 3、

HDFS中文件存储副本策略有哪些? A.第一个副本随机存放在本机架上的某个节点上。 B.第一个副本块存放在本机上。 C.第二个副本块存在与本机同机架上的其他服务器节点上。 D.第三个副本块存在不同机架上的一个随机服务器节点上。

解答:HDFS文件存储副本策略有:(1)第一个副本块存放在本机上。

(2)第二个副本块存跟本机同机架(Rack)内的其他服务器节点上。

(3)第三个副本块存不同机架(Rack)内的一个服务器节点上。

所以答案为BCD。问题解答学生共性问题解答本章总结思维导图作业课后作业教员备课时根据班级情况在此添加内容,应区分必做、选做内容,以满足不同层次学员的要求。预习作业教员备课时根据班级情况在此添加预习内容大数据技术应用第四章分布式计算框架MapReduce课程导学课程特点理论结合实际,注重实操案例丰富,讲解细致结合1+X考试理论试题解析学习方法多记、多想、多练结合蓝桥实验楼线上实验实操预习检查请老师根据课前布置的预习内容《第四章分布式计算框架MapReduce》中的实验3【分布式计算框架MapReduce】进行提问问题1:问题2:本章目标重难点提示重点:MapReduce运行机制重点:MapReduce数据类型与输入输出格式重点:Shuffle机制详解重点:数据清洗案例本章任务掌握MapReduce编程掌握数据清洗知识点MapReduce概述MapReduce运行机制编程实现WordCountMapReduce数据类型与输入输出格式文件切片Shuffle机制详解数据清洗案例MapReduce概述MapReduce的技术特征: 1.向“外”横向扩展,而非向“上”纵向扩展。 2.失效被认为是常态。 3.将计算向数据迁移。 4.顺序处理数据、避免随机访问数据。 5.为应用开发者隐藏系统层细节。 6.性能的线性增长。云课实验:第四章分布式计算框架MapReduceMapReduce运行机制

运行过程解析 1.输入阶段。 2.Map阶段。 2.1.map函数处理 2.2.分区 2.3.排序 2.4.分组 2.5.规约 3.Reduce阶段。 3.1.复制 3.2.分组 3.3.排序 3.4.reduce函数处理 4.输出阶段编程实现WordCount编写MapReduce程序时,要注意以下编程规范:(1)用户编写的程序分成三个部分:Mapper,Reducer及任务配置。(2)Mapper的输入数据是KV对的形式(KV的类型可自定义)。(3)Mapper的输出数据是KV对的形式(KV的类型可自定义)。(4)Mapper中的业务逻辑写在map()方法中。(5)map()方法(MapTask进程)对每一个<K,V>调用一次。(6)Reducer的输入数据类型对应Mapper的输出数据类型,也是KV。(7)Reducer的业务逻辑写在reduce()方法中。(8)ReduceTask进程对每一组相同K的<K,V>组调用一次reduce()方法。(9)用户自定义的Mapper和Reducer都要继承各自的父类。(10)整个任务配置Job对象,它描述了任务运行需要的各种信息。

MapReduce数据类型与输入输出格式MapReduce数据类型

MapReduce数据类型与输入输出格式MapReduce输入输出格式

MapReduce输入格式:

1.TextInputFormat

2.KeyValueTextInputFormat 3.NLineInputFormat 4.SequenceFileInputFormat 5.CombineFileInputFormat

MapReduce输出格式: 1.TextOutputFormat 2.SequenceFileOutputFormat文件切片基本规则

文件切片主要是把待处理的数据文件按照某种规则分割成切片文件split0,split1,split2,……,然后每一个split会被分配一个任务进程来处理。这里的切片大小默认是由以下公式决定的:Math.max(minSize,Math.min(maxSize,blockSize))。其中minSize的默认值为1,可以通过参数mapreduce.input.fileinputformat.split.minsize来设置。其中maxSize的默认值为Long.MAXValue,可以通过参数mapreduce.input.fileinputformat.split.maxsize来设置。blockSize就是上一章提到的块(Block)的大小,默认为128MB。通过这个公式可以看到切片大小默认情况下是128MB。文件切片小文件处理

默认的切片机制下,即使文件较小,没有达到预设的切片的大小,也会是一个单独的切片,会被交给一个任务进程来处理。这样如果有大量小文件,就会需要大量的任务进程,处理效率极其低下。对于小文件,更好的办法是在数据处理系统的最前端(采集|预处理),将小文件先合并成大文件,再上传到HDFS做后续分析。

如果在HDFS中已经存储了大量小文件,可以使用CombineTextInputFormat这个类来做切片,它的切片逻辑跟默认的TextFileInputFormat不同:它可以将多个小文件从逻辑上规划到一个切片中,这样,多个小文件就可以交给一个任务进程来处理了。Shuffle机制详解分区

MapReduce中标识分区规则的类是Partitioner,HashPartitioner是其子类,也是分区的默认实现,其核心代码如下。publicclassHashPartitioner<K,V>extendsPartitioner<K,V>{ //key和value分别是map函数的输出,numReduceTasks指的是Reducer的任务数量,默认值为1。 publicintgetPartition(Kkey,Vvalue,intnumReduceTasks){ return(key.hashCode()&Integer.MAX_VALUE)%numReduceTasks; }}

MapReduce默认的分区规则是:基于key的hashCode值的均匀分布。numReduceTasks参数代表ReduceTask进程数,它等同于分区数,如果不设置该进程数(分区数),那么默认值为1,那么getPartition()方法将返回0,这意味着map()输出的所有数据都在分区0中,也意味着只有一个ReduceTask,最终只能输出到一个文件中。Shuffle机制详解排序

无论Map阶段还是Reduce阶段,排序依据都是key所属的类中所定义的排序规则,具体来说是通过实现WritableComparable的compareTo()方法来实现的。在WordCount中,key属于Text,其排序规则按字符串的字典升序来排序。

我们如果要实现自己需要的排序规则,则可以考虑将排序因素放到key中,让key实现接口WritableComparable的compareTo方法。Shuffle机制详解规约

规约(Combiner)是MapReduce程序中的一个组件,也是Map阶段的一个可选过程,其使用的原则是:有或没有都不能影响业务逻辑。(1)Combiner组件的父类就是Reducer,它与Reducer的区别在于运行的位置:Combiner是在每一个MapTask所在的节点上运行;Reducer是接收全局所有Mapper的输出结果。(2)Combiner的意义是对每一个MapTask的输出进行局部汇总,以减小网络传输量。(3)Combiner的具体实现步骤:自定义一个类MyCombiner继承Reducer,重写reduce方法,并在job中注册job.setCombinerClass(MyCombiner.class)即可。(4)Combiner的功能是实现本地Key的归并,Combiner也被称为本地的Reduce。如果不用Combiner,那么所有的结果都由Reduce完成,效率会相对低下。(5)Combiner的输出KV应该跟Reducer的输入KV类型保持一致。因此Combiner应该用于不影响最终结果的场景,比如累加,最大值等,但平均值就不行了(读者可思考为什么)。数据清洗案例数据清洗

MapReduce在大数据领域有一个非常重要的功能:清洗数据。

代码详见:在线实验。1+X考试考题解析考察知识点:Reduce阶段 1、

Reduce阶段不包括以下哪一步?

A.排序 B.分区 C.分组 D.复制1+X考试考题解析考察知识点:Reduce阶段 1、

Reduce阶段不包括以下哪一步?

A.排序 B.分区 C.分组 D.复制

解答:Reduce阶段包括复制、分组、排序、Reduce函数。所以答案为B。1+X考试考题解析考察知识点:MapReduce输入格式 2、MapReduce中哪一种文件输入格式可以自动切割并合并小文件?

A.NLineInputFormat B.SequenceFileInputFormat C.CombineFileInputFormat D.KeyValueTextInputFormat1+X考试考题解析考察知识点:MapReduce输入格式 2、MapReduce中哪一种文件输入格式可以自动切割并合并小文件?

A.NLineInputFormat B.SequenceFileInputFormat C.CombineFileInputFormat D.KeyValueTextInputFormat

解答:MapReduce中CombineFileInputFormat可以自动切割并合并小文件。所以答案为C。1+X考试考题解析考察知识点:规约 3、MapReduce中关于Combiner描述正确的有哪些?

A.Combiner本质上是Reducer,所以如果代码与Reducer一样的话,可以不用写,直接用Reducer来作为Combiner B.Combiner可有可无,有的情况下可以进行局部汇总,减少网络传输量 C.Combiner的输出KV应该跟Reducer的输入KV类型保持一致 D.Combiner的功能是实现本地Key的归并,Combiner也被称为本地的Reduce1+X考试考题解析考察知识点:规约 3、MapReduce中关于Combiner描述正确的有哪些?

A.Combiner本质上是Reducer,所以如果代码与Reducer一样的话,可以不用写,直接用Reducer来作为Combiner B.Combiner可有可无,有的情况下可以进行局部汇总,减少网络传输量 C.Combiner的输出KV应该跟Reducer的输入KV类型保持一致 D.Combiner的功能是实现本地Key的归并,Combiner也被称为本地的Reduce

解答:A.Combiner本质上是Reducer,所以如果代码与Reducer一样的话,可以不用写,直接用Reducer来作为Combiner正确;B.Combiner可有可无,有的情况下可以进行局部汇总,减少网络传输量正确;C.Combiner的输出KV应该跟Reducer的输入KV类型保持一致正确;D.Combiner的功能是实现本地Key的归并,Combiner也被称为本地的Reduce正确。所以答案为ABCD。问题解答学生共性问题解答本章总结思维导图作业课后作业教员备课时根据班级情况在此添加内容,应区分必做、选做内容,以满足不同层次学员的要求。预习作业教员备课时根据班级情况在此添加预习内容大数据技术应用第五章统一资源管理和调度框架YARN课程导学课程特点理论结合实际,注重实操案例丰富,讲解细致结合1+X考试理论试题解析学习方法多记、多想、多练结合蓝桥实验楼线上实验实操预习检查请老师根据课前布置的预习内容《第五章统一资源管理和调度框架YARN》中的文档2【统一资源管理和调度框架YARN】进行提问问题1:问题2:本章目标重难点提示重点:YARN工作流程重点:YARN调度器与调度策略本章任务掌握YARN调度器与调度策略知识点YARN概述YARN体系架构YARN工作流程YARN调度器与调度策略YARN概述YARN的优势包括以下几个方面: 1.可扩展性(Scalability)。 2.高可用性(Availability)。 3.资源利用率高(Utilization)。 4.计算多样性(variety)。云课文档:第五章统一资源管理和调度框架YARNYARN体系架构

YARN体系架构图:

YARN工作流程YARN工作流程图:

YARN调度器与调度策略FIFO调度器(先入先出调度器):

FIFO调度器是Hadoop1.x默认的调度器。 FIFO调度器把任务按提交的顺序排成一个队列,这是一个先进先出队列,在进行资源分配的时候,先给队列中最前面的任务分配资源,待最前面的任务需求满足后再给下一个分配,以此类推。YARN调度器与调度策略Capacity调度器(容量调度器):

Capacity调度器是Hadoop2.x默认的调度器。其原理如下:

支持多个队列,每个队列可配置一定量的资源,每个队列又采用FIFO的方式调度。为了防止同一个用户的任务独占队列中的资源,调度器会对同一用户提交的任务所占资源进行限制。分配新的任务时,首先计算每个队列中正在运行任务的个数与其队列实际分配的资源量做比值,然后选择比值最小的队列。YARN调度器与调度策略Fair调度器(公平调度器):

支持多个队列,每个队列可以配置一定的资源,每个队列中的任务公平共享其所在队列的所有资源。队列中的任务都是按照优先级分配资源,优先级越高分配的资源越多,但是为了确保公平,每个任务都会分配到一定资源。优先级是根据每个任务的理想获取资源量减去实际获取资源量的差值决定的,差值越大优先级越高。1+X考试考题解析考察知识点:Hadoop默认调度器 1、

Hadoop2.9.2的默认调度器是哪一个?

A.FIFOScheduler B.CapacityScheduler C.FairScheduler D.LATEScheduler1+X考试考题解析考察知识点:Hadoop默认调度器 1、

Hadoop2.9.2的默认调度器是哪一个?

A.FIFOScheduler B.CapacityScheduler C.FairScheduler D.LATEScheduler

解答:Hadoop2.9.2的默认调度器是CapacityScheduler。所以答案为B。1+X考试考题解析考察知识点:Hadoop

Capacity调度器 2、Capacity调度器分配任务时,假设有3个队列A、B和C。其中A队列占用30%的资源,目前已经有20个任务正在运行,B队列占用20%的资源,目前已经有15个任务正在运行,C队列占用50%的资源,目前已经有25个任务正在运行。那么新的任务应该分配给哪个队列? A.A队列 B.B队列 C.C队列 D.随机分配1+X考试考题解析考察知识点:Hadoop

Capacity调度器 2、Capacity调度器分配任务时,假设有3个队列A、B和C。其中A队列占用30%的资源,目前已经有20个任务正在运行,B队列占用20%的资源,目前已经有15个任务正在运行,C队列占用50%的资源,目前已经有25个任务正在运行。那么新的任务应该分配给哪个队列? A.A队列 B.B队列 C.C队列 D.随机分配

解答:对于Capacity调度器,任务分配的原则是:分配给队列中正在运行任务的个数与其队列实际分配的资源量比值最小的队列。对于A队列,20/30%=66.67,对于B队列,15/20%=75,对于C队列,25/50%=50。所以答案为C。1+X考试考题解析考察知识点:Hadoop

YARN体系架构 3、一个完整的YARN体系架构包括哪些进程?

A.ResourceManager B.NodeManager C.ApplicationMaster D.Container1+X考试考题解析考察知识点:Hadoop

YARN体系架构 3、一个完整的YARN体系架构包括哪些进程?

A.ResourceManager B.NodeManager C.ApplicationMaster D.Container

解答:一个完整的YARN体系架构包括ResourceManager、NodeManager和ApplicationMaster三种进程。所以答案为ABC。问题解答学生共性问题解答本章总结思维导图作业课后作业教员备课时根据班级情况在此添加内容,应区分必做、选做内容,以满足不同层次学员的要求。预习作业教员备课时根据班级情况在此添加预习内容大数据技术应用第六章分布式协调框架ZooKeeper课程导学课程特点理论结合实际,注重实操案例丰富,讲解细致结合1+X考试理论试题解析学习方法多记、多想、多练结合蓝桥实验楼线上实验实操预习检查请老师根据课前布置的预习内容《第六章分布式协调框架ZooKeeper》中的文档3【分布式协调框架ZooKeeper】进行提问问题1:问题2:本章目标重难点提示重点:ZooKeeper系统模型重点:ZooKeeper核心机制重点:ZooKeeperShell本章任务掌握ZooKeeperShell知识点ZooKeeper概述ZooKeeper系统模型ZooKeeper核心机制ZooKeeper典型应用ZooKeeper安装部署ZooKeeperShellZooKeeper概述分布式系统存在哪些难点问题: 1.多节点(也可以认为是节点上的进程)联合对外提供服务,仍面临着单个节点失败的可能,那么就需要一个协调者告诉消费者哪些节点可用或者将消费者的请求路由到可用的节点来处理;另外,如果一个请求执行的过程中,提供服务的节点挂掉了,是调度别的节点接着处理还是直接告知消费者重新请求? 2.如果用于协调的节点失败,那整个集群将不可用。以上两条属于容错性问题。 3.如果所有节点都同时提供读、写服务,那么公共数据面临着数据不一致的风险,即A节点不知道B节点正在做或者已完成数据变更,读到的就是旧的数据;这属于一致性(Consistency)问题。 4.集群能否全时提供服务,或能提供服务的时间占比达到最高?这属于高可用(Availiablity)的问题。云课文档:第六章分布式协调框架ZooKeeperZooKeeper概述

CAP定律: Consistency:[强]一致性,类似于传统数据库中的事务,即一个节点上的数据变化必须同步到其余全部节点。 Availiablity:[高]可用性,即前面提到的可提供服务的时间占比要高。 Partitiontolerance:分区容错性,即部分节点失败或节点间通信失败时,仍能对外提供服务。ZooKeeper概述ZooKeeper简介:

ApacheZooKeeper是一个很流行的分布式协调技术。它是GoogleChubby的开源实现,是一个分布式的、开放源码的分布式协调框架,为大型分布式系统提供了高效且可靠的分布式协调服务,提供了诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁、分布式队列等分布式基础服务,并广泛应用于Hadoop、HBase、Kafka等大型分布式开源系统。ZooKeeper系统模型数据模型

数据路径

ZooKeeper采用类似文件系统的目录结构的数据模型,其数据节点构成了一个具有层次关系的树状结构,如下图所示。ZooKeeper系统模型数据模型

数据节点ZNode

在ZooKeeper中,ZNode有以下4种类型:

第1种:持久ZNode。

第2种:持久顺序ZNode。

第3种:临时ZNode。

第4种:临时顺序ZNode。ZooKeeper系统模型数据模型

数据版本 ZooKeeper中为ZNode引入了版本的概念,每个ZNode都具有三种类型的版本信息(版本信息也存在于stat对象中),对ZNode的任何更新操作都会引起版本号的改变。这三种类型的版本信息分别为:version:当前ZNode数据内容的版本号。cversion:当前ZNode子节点的版本号。aversion:当前ZNode的ACL版本号。ZooKeeper系统模型集群模型

在ZooKeeper集群中,有Leader、Follower和Observer三种类型的服务器角色: 1.Leader。 2.Follower。 3.Observer。ZooKeeper核心机制ZAB协议与数据一致性

ZooKeeper采用了一种称为ZooKeeperAtomicBroadcast(ZAB,ZooKeeper原子消息广播协议)的协议作为其数据一致性的核心算法。基于该协议,ZooKeeper实现了一种主备模式的系统架构来保持集群中各副本之间数据的一致性。ZooKeeper核心机制Leader选举与容错性

Leader选举机制是ZooKeeper中最重要的技术之一,也是保证分布式容错性和数据一致性的关键所在。Leader选举时要求“可用节点数量>总节点数量/2”,即ZooKeeper集群中的存活节点必须过半。因此,在节点数量是奇数的情况下,ZooKeeper集群总能对外提供服务。如果节点数量是偶数,会存在ZooKeeper集群不能用的可能性。所以ZooKeeper集群的节点数一般采用奇数。ZooKeeper核心机制Watcher机制

在ZooKeeper中,引入了Watcher机制来实现分布式的通知功能。ZooKeeper允许客户端向服务端注册一个Watcher监听,当服务端的一些指定事件触发了这个Watcher,那么就会向指定客户端发送一个事件通知来实现分布式的通知功能。ZooKeeper典型应用分布式锁

分布式锁是控制分布式系统之间同步访问共享资源的一种方式。如果不同的系统间或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要通过一些互斥手段来防止彼此之间的干扰,以保证一致性,在这种情况下,就需要使用分布式锁了。ZooKeeper典型应用Hadoop高可用

ZooKeeper典型应用消息订阅

消息订阅系统,就是发布者将数据发布到ZooKeeper的一个或一系列节点上,供订阅者进行消息订阅,进而达到动态获取数据的目的,实现配置信息的集中式管理和数据的动态更新。ZooKeeper典型应用集群监控

随着分布式系统规模的日益扩大,集群中的机器规模也随之变大,因此,如何更好地进行集群管理也显得越来越重要了。

所谓集群管理,包括集群监控和集群控制两大块,前者侧重对集群运行时状态的收集,后者则是对集群进行操作与控制。在日常开发和运维过程中,经常会有类似于如下的需求:希望知道当前集群中究竟有多少机器在工作;对集群中每台机器的运行时状态进行数据收集;对集群中机器进行上下线操作。ZooKeeper安装部署安装步骤:

1.下载。 2.解压并重命名。 3.配置环境变量。 4.修改配置文件。 5.启动。 6.查看状态。 7.关闭。ZooKeeperShell启动ZooKeeper集群后,就可以使用命令

zkCli.sh

登录客户端了,常用的Shell命令如下:

1.ls。 2.create。 3.get。 4.set。 5.delete。 6.rmr。1+X考试考题解析考察知识点:ZooKeeper选举机制 1、

ZooKeeper集群一共有7个节点,某一节点被选举为Leader需要至少几个节点的投票?

A.1 B.2 C.3 D.41+X考试考题解析考察知识点:ZooKeeper选举机制 1、

ZooKeeper集群一共有7个节点,某一节点被选举为Leader需要至少几个节点的投票?

A.1 B.2 C.3 D.4

解答:某一节点要被选举为Leader,需要集群中至少半数以上的节点投它,对于7个节点的集群至少需要4个节点的投票。所以答案为D。1+X考试考题解析考察知识点:ZooKeeper

Watcher机制 2、客户端使用get/bookwatch命令时,在什么情况下会触发Watcher?

A.更新节点/book内容时 B.删除节点/book时 C.在节点/book下创建子节点时 D.更新节点/book下面的子节点时1+X考试考题解析考察知识点:ZooKeeper

Watcher机制 2、客户端使用get/bookwatch命令时,在什么情况下会触发Watcher?

A.更新节点/book内容时 B.删除节点/book时 C.在节点/book下创建子节点时 D.更新节点/book下面的子节点时

解答:get的watch的用来监听节点内容是否变化。所以答案为A。1+X考试考题解析考察知识点:ZooKeeper各种角色 3、Follower角色拥有哪些功能?

A.参与Leader选举投票 B.参与事务请求Proposal的投票 C.处理客户端事务请求 D.转发事务请求给Leader服务器1+X考试考题解析考察知识点:ZooKeeper各种角色 3、Follower角色拥有哪些功能?

A.参与Leader选举投票 B.参与事务请求Proposal的投票 C.处理客户端事务请求 D.转发事务请求给Leader服务器

解答:Follower角色拥有以下这些功能:参与Leader选举投票;参与事务请求Proposal的投票;处理客户端非事务请求,转发事务请求给Leader服务器。所以答案为ABD。问题解答学生共性问题解答本章总结思维导图作业课后作业教员备课时根据班级情况在此添加内容,应区分必做、选做内容,以满足不同层次学员的要求。预习作业教员备课时根据班级情况在此添加预习内容大数据技术应用第七章数据仓库Hive课程导学课程特点理论结合实际,注重实操案例丰富,讲解细致结合1+X考试理论试题解析学习方法多记、多想、多练结合蓝桥实验楼线上实验实操预习检查请老师根据课前布置的预习内容《第七章数据仓库Hive》中的实验4【数据仓库Hive】进行提问问题1:问题2:本章目标重难点提示重点:DDL操作重点:DML操作本章任务学会使用Hive函数来做数据分析知识点Hive概述Hive体系架构Hive安装部署Hive数据类型与文件格式Hive数据模型与函数DDL操作DML操作WordCount详解高级操作Hive概述Hive的特点: 1.查询语言与SQL接近。 2.并行执行。 3.使用HDFS存储。 4.支持自定义数据格式。 5.不支持数据更新。 6.不支持索引。 7.执行延迟高。 8.可扩展性高。 9.数据规模大。云课实验:第七章数据仓库HiveHive体系架构

Hive体系架构图:Hive体系架构客户端组件: 1.Cli。 2.JDBC/ODBC。 3.WebUI。Hive体系架构服务端组件: 1.ThriftServer。 2.MetaStore服务(MetaStoreservice)。 3.驱动器(Driver)。 3.1.解析器(Interpreter)。 3.2.编译器(Compiler)。 3.3.优化器(Optimizer)。 3.4.执行器(Executor)。Hive安装部署安装模式简介:

根据元数据MetaStore存储位置的不同,Hive安装模式共有以下3种: 1.内嵌模式(EmbeddedMetaStore)。 2.本地模式(LocalMetaStore)。 3.远程模式(RemoteMetaStore)。Hive安装部署安装步骤:

1.安装MySQL。 2.安装Hive。 3.启动Hive。Hive数据类型与文件格式Hive数据类型:

Hive数据类型分为两类:基本数据类型和集合数据类型。 1.基本类型。

Hive数据类型与文件格式Hive数据类型: 2.集合数据类型。

Hive数据类型与文件格式Hive文件格式: Hive支持多种文件格式,常用的有以下几种:TextFile、SequenceFile、RCFile、ORCFile和Parquet。 1.TextFile。 2.SequenceFile。 3.RCFile。 4.ORCFile。 5.Parquet。Hive数据模型与函数Hive数据模型 1.表。 1.1.内部表(Table)。 1.2.外部表(ExternalTable)。 2.分区表。 3.桶。Hive数据模型与函数Hive函数

Hive支持多种内置运算符和内置函数,方便开发人员调用,还可以自定义函数来实现特定功能。 1.内置运算符。 1.1.算术运算符。 1.2.关系运算符。 1.3.逻辑运算符。 1.4.复杂运算符。

Hive数据模型与函数Hive函数

2.内置函数。 2.1.数学函数。 2.2.集合函数。 2.3.类型转换函数。 2.4.日期函数。 2.5.条件函数。 2.6.字符函数。 2.7.聚合函数。 2.8.表生成函数。 3.自定义函数。DDL操作数据库操作 1.创建数据库。 2.查看数据库。 3.删除数据库。 4.切换数据库。DDL操作表的操作 1.创建表。 2.建表示例。 3.查看表。 4.修改表。 5.删除表。 6.清空表。DML操作装载数据load

1.filepath。 2.LOCAL关键字。 3.OVERWRITE关键字。DML操作插入数据insert

1.将一个表的数据查询出来插入另一个表中。 2.将一张表的数据查询出来插入到多张表中。DML操作查询数据并导出

1.将一个表的数据查询出来导出到本地。 2.将一个表的数据查询出来导出到多个HDFS路径中。DML操作静态分区与动态分区

Hive中支持的分区类型有两种:静态分区(staticpartition)和动态分区(dynamicpartition)。 1.单分区。 2.多分区。

DML操作查询数据select

1.groupby。 2.orderby。 3.sortby。 4.distributeby。 5.clusterby。 6.limit。

DML操作join

1.支持等值join。 2.可以join多于2个表。 3.支持子查询。 4.支持左(leftouterjoin)、右(rightouterjoin)、外连接(fullouterjoin)。

WordCount详解具体步骤:

1.准备文本内容。 2.新建Hive表。 3.加载数据到Hive表中。 4.分割文本。 5.行转列。 6.统计计数。

高级操作复杂数据类型

1.Array。 2.Map。

3.Struct。高级操作自定义函数

1.UDF。 2.UDAF。

3.UDTF。1+X考试考题解析考察知识点:Hive的文件格式 1、

Hive的各种文件格式中,哪一种的压缩率最高?

A.TEXTFILE B.RCFILE C.PARQUET D.ORC1+X考试考题解析考察知识点:Hive的文件格式 1、

Hive的各种文件格式中,哪一种的压缩率最高?

A.TEXTFILE B.RCFILE C.PARQUET D.ORC

解答:Hive的各种文件格式中,ORC的压缩率最高。所以答案为D。1+X考试考题解析考察知识点:Hive内置函数 2、

Hive的内置函数substr("hello",2)的返回结果是哪一个?

A.he B.llo C.ello D.lo

1+X考试考题解析考察知识点:Hive内置函数 2、

Hive的内置函数substr("hello",2)的返回结果是哪一个?

A.he B.llo C.ello D.lo

解答:Hive的内置函数substr函数用来求子字符串,其中第二个参数为位置,从1开始计数,2表示从第2个字符开始一直到字符串最右边。所以答案为C。1+X考试考题解析考察知识点:Hive内部表与外部表 3、

Hive中关于内部表与外部表的描述正确的有哪些?

A.内部表要把数据加载到Hive所在的HDFS目录 B.内部表删除时,元数据和数据文件都删除 C.外部表可以被多个任务共享,无需把数据加载到Hive所在的HDFS目录 D.外部表删除时,只删除表结构

1+X考试考题解析考察知识点:Hive内部表与外部表 3、

Hive中关于内部表与外部表的描述正确的有哪些?

A.内部表要把数据加载到Hive所在的HDFS目录 B.内部表删除时,元数据和数据文件都删除 C.外部表可以被多个任务共享,无需把数据加载到Hive所在的HDFS目录 D.外部表删除时,只删除表结构

解答:A.内部表要把

温馨提示

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

评论

0/150

提交评论