Hadoop大数据开发基础与案例实战(微课版)-教案全套 薛明志 项目1-8 走进大数据的世界 -HBase实战_第1页
Hadoop大数据开发基础与案例实战(微课版)-教案全套 薛明志 项目1-8 走进大数据的世界 -HBase实战_第2页
Hadoop大数据开发基础与案例实战(微课版)-教案全套 薛明志 项目1-8 走进大数据的世界 -HBase实战_第3页
Hadoop大数据开发基础与案例实战(微课版)-教案全套 薛明志 项目1-8 走进大数据的世界 -HBase实战_第4页
Hadoop大数据开发基础与案例实战(微课版)-教案全套 薛明志 项目1-8 走进大数据的世界 -HBase实战_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

走进大数据世界教学单元名称大数据概述教学目标能力目标独立查阅相关资料的能力知识目标了解大数据产生背景、概念及其影响了解大数据的关键技术、计算模式了解大数据与云计算和物联网之间的关系素质目标接受新知识、自主学习、查阅资料的能力教学重点1、大数据产生背景和概念2、大数据的关键技术3、大数据与云计算和物联网之间的关系教学难点无教学方法提问法、讨论法、讲授法教学时数2学时教学过程设计教学环节教学内容教师活动学生活动新课引入学生自己对大数据的理解大数据在现实生活中的应用大数据产生的背景讲解听讲记录任务描述提出本次学习的任务——了解大数据讲解听讲记录课程要点讲解1.大数据产生背景、概念及其影响关键字:第三次信息浪潮、纸牌屋、4V讲解搜集资料、交流2.大数据的关键技术、计算模式重点介绍数据的采集与预处理、数据存储和管理、数据处理与分析、数据安全和隐私保护

讲解对大数据处理的不同阶段分别进行讲解3.大数据与云计算和物联网之间的关系重点介绍三者的概念及其关系

讲解听讲记录详细讲解1.大数据产生背景、概念及其影响1)大数据产生的背景:第三次信息化浪潮、信息科技为大数据时代提供技术支撑、数据产生方式的变革促成大数据时代的来临2)大数据的概念:4V,数据量大(Volume)、数据类型繁多(Variety)、处理速度快(Velocity)、价值密度低(Value)3)大数据的影响:在思维方式方面,大数据完全颠覆了传统的思维方式:全样而非抽样、效率而非精确、相关而非因果讲解分组讨论大数据的关键技术、计算模式1)大数据的关键技术:数据的采集与预处理、数据存储和管理、数据处理与分析、数据安全和隐私保护

2)大数据计算模式:批处理计算(针对大规模数据的批量)、处理流计算(针对流数据的实时计算)、图计算(针对大规模图结构数据的处理)查询分析计算(大规模数据的存储管理和查询分析)讲解听讲记录、交流大数据与云计算和物联网之间的关系云计算、大数据和物联网代表了IT领域最新的技术发展趋势,三者既有区别又有联系讲解分组讨论、交流教学小结根据课堂教学情况,之处学生对本堂课中知识点难以理解的地方,结合教学重点和难点,对所学知识进一步强化。讲解学生记录布置作业1、大数据的4个基本特征;2、举例说明大数据的具体应用;3、阐述大数据、云计算和物联网三者之间的关系?走进Hadoop世界教学单元名称Hadoop教学目标能力目标独立查阅相关资料的能力知识目标了解Hadoop的发展史、特性和应用现状掌握Hadoop生态系统的组成素质目标接受新知识、自主学习、查阅资料的能力教学重点1、Hadoop的发展史、特性2、Hadoop的生态圈教学难点Hadoop生态圈的组成及各自的功能教学方法提问法、讨论法、讲授法教学时数2学时教学过程设计教学环节教学内容教师活动学生活动新课引入学生对大数据架构的理解Hadoop的功能组件讲解听讲记录任务描述提出本次学习的任务——了解Hadoop讲解听讲记录课程要点讲解Hadoop概述关键字:特性、版本讲解搜集资料、交流Hadoop生态系统重点介绍HDFS、HBase、MapReduce、YARN、Hive、HBase、Pig、Sqoop、Zookeeper、Storm、Flume、Spark讲解对不同子项目进行综合讲解详细讲解1.Hadoop的发展史、特性和应用现状1)Hadoop的发展史:Hadoop源自始于2002年的ApacheNutch项目——一个开源的网络搜索引擎并且也是Lucene项目的一部分。2)Hadoop的特性:高可靠性、高效性、高可扩展性、高容错性、成本低、运行在Linux平台上、支持多种编程语言3)Hadoop的版本:ApacheHadoop版本分为两代,我们将第一代Hadoop称为Hadoop1.0,第二代Hadoop称为Hadoop2.0讲解分组讨论Hadoop生态系统Hadoop的项目结构不断丰富发展,已经形成一个丰富的Hadoop生态系统HDFS:分布式文件系统MapReduce:分布式并行编程模型YARN:资源管理和调度器Tez:运行在YARN之上的下一代Hadoop查询处理框架Hive:Hadoop上的数据仓库HBase:adoop上的非关系型的分布式数据库Pig:一个基于Hadoop的大规模数据分析平台,提供类似SQL的查询语言PigLatinSqoop:用于在Hadoop与传统数据库之间进行数据传递Oozie:Hadoop上的工作流管理系统Zookeeper:提供分布式协调一致性服务Storm:流计算框架Flume:一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统Ambari:Hadoop快速部署工具,支持ApacheHadoop集群的供应、管理和监控Kafka:一种高吞吐量的分布式发布订阅消息系统,可以处理消费者规模的网站中的所有动作流数据Spark:类似于HadoopMapReduce的通用并行框架讲解听讲记录、交流教学小结根据课堂教学情况,之处学生对本堂课中知识点难以理解的地方,结合教学重点和难点,对所学知识进一步强化。讲解学生记录布置作业1、Hadoop的特点?3、阐述Hadoop生态圈中的子项目?Hadoop集群搭建教学单元名称Linux环境准备教学目标能力目标具有较强的动手能力。知识目标掌握静态IP的修改方法掌握主机名的修改方法绑定主机名和IP地址的对应关系配置免密登录素质目标接受新知识、自主学习、创新的能力教学重点掌握讲台IP的修改方法、掌握主机名的修改方法、绑定主机名和IP地址的对应关系教学难点免密登录教学方法项目向导、任务驱动、分组讨论教学时数4学时教学过程设计教学环节教学内容教师活动学生活动新课引入介绍CentOS7操作系统安装介绍IP地址、主机名和免密登录讲解听讲记录任务描述提出本次学习的任务——Linux环境准备讲解听讲记录任务部署1CentOS7操作系统安装,掌握静态IP的修改方法,掌握主机名的修改方法,绑定主机名和IP地址的对应关系,配置免密登录讲解搜集资料、交流任务实施1修改静态IP修改主机IP地址的操作步骤如下:①切换到/etc/sysconfig/network-scripts/目录下,命令如下所示:cd/etc/sysconfig/network-scripts/②编辑该目录下的ifcfg-ens33文件,命令如下所示:viifcfg-ens33③修改ifcfg-ens33中的内容,默认情况下是dhcp动态IP地址,需要静态IP地址,此时将BOOTPROTO的值改为static;需要开机时启动网卡,将ONBOOT的值改为yes,需要添加网络配置信息,包括静态IP地址参数IPADDR、网关参数GATEWAY、子网掩码参数NETMASK、DNS配置参数DNS1。④网卡信息修改完成后,保存并退出VI编辑器,需要重新启动网络服务,使修改的内容生效,命令如下所示:systemctlrestartnetwork⑤网卡重启完成后,可以查看网络配置信息,命令如下所示:ipaddrshow讲解演示模仿操作修改主机名①修改主机名的配置文件位于/etc目录下,文件名为hostname。编辑/etc/hostname文件,命令如下:vi/etc/hostname②在该文件中删除原来的主机名,添加要修改的主机名master,添加内容如下:master③保存并退出/etc/hostname文件,并且使用reboot命令重启使修改内容生效。讲解演示模仿操作绑定主机名和IP对应关系①修改/etc/hosts文件,命令如下所示:vi/etc/hosts在该文件末尾添加如下内容:28master32slave130slave2需要在另外两个节点上绑定主机名和IP对应关系,此时不需要在每一个节点上修改/etc/hosts文件,只需要使用scp命令,将已经配置好的/etc/hosts文件拷贝到另外两个节点上,拷贝命令如下:scp-r/etc/hostsroot@29:/etc/hostsscp-r/etc/hostsroot@30:/etc/hosts②三个节点都配置完成后,使用如下命令测试三个节点之间网络是否互通。在master节点上执行如下命令:pingslave1pingslave2在slave1节点上执行如下命令:pingmasterpingslave2在slave2节点上执行如下命令:pingmasterpingslave1免密登录①分别在三个节点上生成秘钥文件,分别在master、slave1和slave2三个节点上执行如下命令:ssh-keygen执行ssh-keygen命令时,会要求确认秘钥文件的存储位置(SSH密钥默认保留在~/.ssh目录中),输入并确认私钥的密码即可,也可以直接按“Enter”即可,表示将私钥密码空着。生成的id_rsa是本机的私钥文件,id_rsa.pub是本机的公钥文件。②分别在master、slave1和slave2三个节点上执行以下命令,该命令是将自身的公钥信息复制并追加到全部节点的授权文件authorized_keys中。ssh-copy-idmasterssh-copy-idslave1ssh-copy-idslave2③分别在master、slave1和slave2三个节点上执行ssh命令以下命令,来测试SSH免密登录。教学小结学生演示:按照任务要求进行演示。教师点评:根据学生安装情况进行验收点评,并提出改进,在此基础上进行练习。讲解学生记录布置作业静态IP的修改方法掌握主机名的修改方法绑定主机名和IP地址的对应关系配置免密登录Hadoop集群搭建教学单元名称JDK安装和Hadoop安装教学目标能力目标具有较强的动手能力。知识目标掌握JDK的安装过程掌握Hadoop的安装过程素质目标接受新知识、自主学习、创新的能力教学重点1、JDK的安装过程2、Hadoop的安装过程教学难点JDK环境变量的配置教学方法项目向导、任务驱动、分组讨论教学时数4学时教学过程设计教学环节教学内容教师活动学生活动新课引入介绍Hadoop架构运行基础介绍环境变量对JDK和Hadoop的重要作用讲解听讲记录任务描述提出本次学习的任务——JDK安装和Hadoop安装讲解听讲记录任务部署1将JDK上传至CentOS7操作系统中,再将JDK安装到该系统中,同时完成环境变量配置和测试安装是否成功。讲解搜集资料、交流任务实施11.下载JDK讲解演示模仿操作①下载jdk-8u211-linux-x64.tar.gz。②将下载的JDK安装包jdk-8u211-linux-x64.tar.gz传到虚拟机master的/usr/local/src目录下。③在虚拟机master上安装JDK,安装过程就是解压的过程,解压命令如下:tar-zxvf/usr/local/src/jdk-8u211-linux-x64.tar.gz-C/usr/local/src④为方便配置JDK系统环境变量,可以修改JDK安装目录名,命令如下:mv/usr/local/src/jdk-1.8.0/usr/local/src/jdk⑤配置JDK系统环境变量,修改文件/etc/profile,命令如下:vi/etc/profile在文件的末尾添加如下内容:exportJAVA_HOME=/usr/local/src/jdkexportPATH=$PATH:$JAVA_HOME/bin/etc/profile文件为系统的每个用户设置环境变量信息,此文件的修改会影响到所有用户,这个文件是每个用户登录时都会运行的环境变量设置。提示:exportPATH=$PATH:$JAVA_HOME/bin中的=两边没有空格,$PATH不能忽略写。⑥/etc/profile文件配置完成之后,需要使刚刚修改的内容生效,执行如下命令:source/etc/profile⑦验证JDK是否安装成功,执行java-version命令,如果出现版本信息,则安装成功。安装成功出现如下内容:javaversion"1.8.0_211"Java(TM)SERuntimeEnvironment(build1.8.0_211-b12)JavaHotSpot(TM)64-BitServerVM(build25.211-b12,mixedmode)⑧拷贝整个jdk安装目录到另外两个节点,执行如下命令:scp-r/usr/local/src/jdkroot@slave1:/usr/local/srcscp-r/usr/local/src/jdkroot@slave2:/usr/local/src⑨拷贝/etc/profile文件到另外两个节点,执行如下命令:scp-r/etc/profileroot@slave1:/etc/profilescp-r/etc/profileroot@slave2:/etc/profile⑩在slave1和slave2节点上,刷新/etc/profile文件,使得刚刚修改的内容生效,执行如下命令:source/etc/profile⑪验证slave1和slave2节点上的JDK是否安装成功,执行java-version命令,如果出现版本信息,则安装成功。讲解演示模仿操作任务部署2将Hadoop上传至CentOS7操作系统中,再将Hadoop安装到该系统中,同时完成环境变量配置和测试安装是否成功。讲解搜集资料、交流任务实施21.下载Hadoop讲解演示模仿操作安装Hadoop①在Hadoop官网上下载hadoop-2.9.2.tar.gz安装包。②使用WinSCP软件,将下载完成的hadoop-2.9.2.tar.gz安装包传到master节点上的/usr/local/src目录下③将hadoop-2.9.2.tar.gz解压到/usr/local/src目录下,执行以下命令:tar-zxvf/usr/local/src/hadoop-2.9.2.tar.gz-C/usr/local/src④为了方便配置Hadoop系统环境变量,可以修改目录名,命令如下:mv/usr/local/src/hadoop-2.9.2/usr/local/src/hadoop⑤配置Hadoop系统环境变量,修改文件/etc/profile,命令如下:vi/etc/profile在文件的末尾添加如下内容:exportHadoop_HOME=/usr/local/src/hadoopexportPATH=$Hadoop_HOME/bin:$Hadoop_HOME/sbin:$PATH⑥/etc/profile文件配置完成之后,需要使刚刚修改的内容生效,执行如下命令:source/etc/profile⑦验证Hadoop是否安装成功,执行Hadoopversion命令,如果出现如下版本信息,则安装成功。Hadoop2.9.2讲解演示模仿操作、归纳总结、记录教学小结学生演示:按照任务要求进行演示。教师点评:根据学生安装情况进行验收点评,并提出改进,在此基础上进行练习。讲解学生记录布置作业1、JDK的下载与安装,环境变量配置及测试;2、Hadoop的下载,环境变量配置及测试。Hadoop集群搭建教学单元名称Hadoop分布式环境搭建教学目标能力目标具有独立自主的开发能力知识目标掌握Hadoop分布式环境配置掌握常用的hadoop命令素质目标接受新知识、自主学习、创新的能力教学重点1、掌握Hadoop分布式环境配置2、掌握常用的hadoop命令教学难点Hadoop分布式环境的配置教学方法项目向导、任务驱动、分组讨论教学时数4学时教学过程设计教学环节教学内容教师活动学生活动新课引入介绍环境变量对分布式环境配置的重要作用讲解听讲记录任务描述提出本次学习的任务——Hadoop分布式环境配置讲解听讲记录任务部署1完成hadoop伪分布式环境的配置讲解搜集资料、交流任务实施1①修改配置文件hadoop-env.sh在该文件中修改JAVA_HOME环境变量,将其值修改为JDK的安装路径,修改内容如下所示:exportJAVA_HOME=/usr/local/src/jdk②修改全局参数配置文件core-site.xml将<configuration>和</configuration>中的标签中的内容修改如下所示:<configuration><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><property><name>hadoop.tmp.dir</name><value>/usr/local/src/hadoop/tmp</value></property></configuration>③修改hdfs参数配置文件hdfs-site.xml,将<configuration>和</configuration>中的标签中的内容修改如下所示:<configuration><property><name>.dir</name><value>/usr/local/src/hadoop/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>/usr/local/src/hadoop/dfs/data</value></property><property><name>node.secondary.http-address</name><value>slave1:50090</value></property></configuration>④修改从节点配置文件slaves该配置文件需要把启动DataNode进程的节点加入到该文件中,首先需要进入该文件的编辑状态,执行如下命令:vislaves在slaves中加入如下内容:masterslave1slave2⑤在/usr/local/src/hadoop下创建dfs目录,在/usr/local/src/hadoop目录下执行mkdirdfs命令,该目录用来存放数据HDFS文件系统的元信息保存位置和HDFS文件系统的数据保存位置。⑥拷贝整个Hadoop安装目录到另外两个节点,如下命令:scp-r/usr/local/src/hadooproot@slave1:/usr/local/srcscp-r/usr/local/src/hadooproot@slave2:/usr/local/src⑦拷贝/etc/profile文件到另外两个节点,执行如下命令:scp-r/etc/profileroot@slave1:/etc/profilescp-r/etc/profileroot@slave2:/etc/profile⑧在slave1和slave2节点上,刷新/etc/profile文件,使刚刚修改的内容生效。source/etc/profile讲解演示模仿操作教学小结学生演示:按照任务要求进行演示。教师点评:根据学生配置情况进行验收点评,同时给出实验成绩。讲解学生记录布置作业1、hadoop单机环境配置文件的设置2、搭建Hadoop分布式平台。

HDFS分布式系统教学单元名称分布式文件系统HDFS简介教学目标能力目标具有自主学习的能力知识目标了解分布式文件系统、HDFS掌握HDFS体系架构掌握HDFS存储原理掌握HDFS数据读写过程素质目标探索新知识、自主学习、查阅资料的能力教学重点1、了解分布式文件系统、HDFS2、HDFS体系架构3、HDFS存储原理4、HDFS数据读写过程教学难点HDFS存储原理和数据存储过程教学方法提问法、讨论法、讲授法教学时数2学时教学过程设计教学环节教学内容教师活动学生活动新课引入常见的文件系统分布式文件系统产生的背景谷歌提出的GFS讲解听讲记录任务描述提出本次学习的任务——分布式文件系统HDFS讲解听讲记录课程要点讲解1.分布式文件系统、HDFS重点介绍计算机集群、分布式文件系统结构和HDFS相关概念讲解提问搜集资料、交流HDFS体系架构重点介绍HDFS的命名空间、通信协议以及客户端讲解听讲记录3.HDFS存储原理重点介绍数据冗余存储、数据存取策略、数据错误与恢复

讲解听讲记录4.HDFS数据读写过程重点介绍HDFS读数据和写数据的过程

讲解提问搜集资料、交流详细讲解1.分布式文件系统、HDFS1)计算机集群结构分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群分布式文件系统的结构3)HDFS讲解分组讨论2.HDFS体系架构1)HDFS体系结构2)HDFS命名空间管理HDFS的命名空间包含目录、文件和块通信协议所有的HDFS通信协议都是构建在TCP/IP协议基础之上的客户端HDFS客户端是一个库,暴露了HDFS文件系统接口,这些接口隐藏了HDFS实现中的大部分复杂性讲解听讲记录、交流3.HDFS存储原理1)冗余数据保存数据存取策略讲解分组讨论、交流4.HDFS数据读写过程1)读数据的过程2)写数据的过程教学小结本节课内容理解起来有一定的困难,根据课堂教学情况,之处学生对本堂课中知识点难以理解的地方,结合教学重点和难点,对所学知识进一步强化。讲解学生记录布置作业1、HDFS中的块和普通文件系统中的块的区别?2、HDFS中的名称节点和数据节点的具体功能?3、HDFS在不发生故障的情况下读文件和写文件的过程?HDFS分布式系统教学单元名称HDFS操作教学目标能力目标具有自主学习的能力知识目标掌握HDFS命令行基本操作。掌握使用Java语言编写HDFSAPI。素质目标探索新知识、自主学习、查阅资料的能力教学重点1、HDFS命令行基本操作。2、使用Java语言编写HDFSAPI。教学难点使用Java语言编写HDFSAPI教学方法提问法、讨论法、讲授法教学时数2学时教学过程设计教学环节教学内容教师活动学生活动新课引入HDFS文件存储使用Java语言编写文件上传功能讲解听讲记录任务描述提出本次学习的任务——HDFS操作讲解听讲记录课程要点讲解1.HDFS命令行操作,包括文件创建、文件下载、文件重命名、文件删除、目录创建等操作。讲解提问搜集资料、交流2.HDFSJavaAPI操作,包括文件创建、文件下载、文件重命名、文件删除、目录创建等操作。讲解听讲记录详细讲解1.在HDFS文件系统中创建目录,目录名为bigdata。hadoopfs-mkdir/bigdata如果想要级联创建目录(如果父目录不存在,则自动创建父目录),则执行如下命令:hadoopfs-mkdir-p/bigdata/bigdata12.将本地Linux操作系统中的文件上传文件到HDFS上,将Linux操作系统上的/usr/local/src/test.txt文件上传到HDFS上的根目录下面。hadoopfs-put/usr/local/src/test.txt/bigdata3.将HDFS上的文件下载到本地(Linux操作系统),将HDFS上的/bigdata/test.txt下载到Linux操作系统下的root用户的家目录下面。hadoopfs-get/bigdata/test.txt/root在上述命令中,/bigdata/test.txt是需要从HDFS文件系统上下载的文件,/root是要下载文件到本地(Linux操作系统)的路径。4.将HDFS文件系统上的文件复制到其他目录下。hadoopfs-cp/bigdata/test.txt/bigdata/bigdata1/test.txt在上述命令中,/bigdata/test.txt为需要复制的文件,/bigdata/bigdata1/test.txt为复制后的文件。5.将HDFS文件系统上的文件移动到其他目录下hadoopfs-mv/bigdata/test.txt/bigdata/bigdata1/test1.txt在上述命令中,/bigdata/test.txt为需要移动的文件,/bigdata/bigdata1/test.txt为移动后的文件。执行如下命令,则实现重命名功能。hadoopfs-mv/bigdata/bigdata1/test.txt/bigdata/bigdata1/test_bak.txt6.查看HDFS文件系统上的文件内容hadoopfs-cat/bigdata/test.txt在上述命令中,/bigdata/test.txt为要查看的文件。7.查看HDFS文件系统上的文件内容的前5行hadoopfs-cat/bigdata/test.txt|head-5在上述命令中,/bigdata/test.txt为要查看的文件。8.删除HDFS文件系统上的文件或目录。hadoopfs-rm/bigdata/test.txt在上述命令中,/bigdata/test.txt为要删除的文件。如果想删除目录,则需要加上参数“-r”,命令如下所示:hadoopfs-rm-r/bigdata/bigdata19.查看HDFS文件系统支持的命令hadoopfs-help10.查看HDFS文件系统中根目录下的文件和目录hadoopfs-ls/讲解分组讨论在编写代码之前,需要引入开发HDFSAPI客户端相应的依赖,如下所示:<dependencies><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>2.9.2</version></dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>2.9.2</version></dependency></dependencies>首先,实现HDFS文件上传将Windows系统上本地E盘下面report.txt文件上传到HDFS集群。接下来,实现从HDFS上下载文件将HDFS集群上的report.txt文件下载到Windows系统,下载到E盘下面。然后,实现HDFS文件夹删除删除HDFS集群上文件。最后,介绍HDFS文件名更改和移动将HDFS集群上文件名进行更改和移动。讲解听讲记录、交流分组讨论、交流教学小结本节课内容理解起来有一定的困难,根据课堂教学情况,之处学生对本堂课中知识点难以理解的地方,结合教学重点和难点,对所学知识进一步强化。讲解学生记录布置作业1.使用HDFS命令行操作,实现如下功能:(1)在HDFS集群根目录下创建目录test。(2)在本地Linux操作系统创建test.txt文件,文件内容为二十大报告内容,将新创建的test.txt上传到到HDFS上/test目录。(3)将HDFS集群上/test/test.txt文件下载到本地。(4)将HDFS集群上/test/test.txt文件复制到根目录下。(5)将HDFS集群上/test/test.txt文件重命名为test1.txt。(6)查看HDFS集群上/test/test1.txt文件前5行内容。(7)删除HDFS集群上根目录下的test.txt文件。(8)查看HDFS集群中根目录下的文件和目录2.编写JavaAPI,实现如下功能:(1)将Windows系统中新建文件log.txt,文件内容为二十大报告内容,将本地文件上传到HDFS集群根目录下。(2)将HDFS集群上根目录下的log.txt下载到Windows系统D盘。(3)删除HDFS集群上根目录下的log.txt。MapReduce教学单元名称MapReduce工作原理教学目标能力目标具有自主学习、分析问题的能力知识目标MapReduce概述MapReduce体系结构MapReduce工作流程素质目标探索新知识、自主学习、查阅资料的能力教学重点MapReduce概述MapReduce体系结构MapReduce工作流程教学难点MapReduce工作流程教学方法提问法、讨论法、讲授法教学时数2学时教学过程设计教学环节教学内容教师活动学生活动新课引入HDFS讲解听讲记录任务描述提出本次学习的任务——MapReduce讲解听讲记录课程要点讲解1.MapReduce概述重点介绍了分布式并行编程、MapReduce模型简介和Map和Reduce函数讲解提问搜集资料、交流2.MapReduce体系结构重点介绍Client、JobTracker、TaskTracker以及Task讲解听讲记录3.MapReduce工作流程重点介绍MapReduce各个执行阶段

讲解提问搜集资料、交流详细讲解MapReduce概述分布式并行编程分布式程序运行在大规模计算机集群上,可以并行执行大规模数据处理任务,从而获得海量的计算能力2)MapReduce模型简介MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数:Map和Reduce3)Map和Reduce函数讲解分组讨论2.MapReduce体系结构讲解听讲记录、交流3.MapReduce工作流程1)工作流程概述不同的Map任务之间不会进行通信不同的Reduce任务之间也不会发生任何信息交换用户不能显式地从一台机器向另一台机器发送消息所有的数据交换都是通过MapReduce框架自身去实现的MapReduce各个执行阶段Shuffle讲解分组讨论、交流教学小结根据课堂教学情况,之处学生对本堂课中知识点难以理解的地方,结合教学重点和难点,对所学知识进一步强化。讲解学生记录布置作业1、阐述MapReduce和Hadoo之间的关?2、MapReduce的工作流程?3、分别描述Map端和Reduce端的Shuffle过程?MapReduce教学单元名称MapReduce编程教学目标能力目标具有自主学习、分析问题的能力知识目标掌握MapReduce配置文件的修改。使用MapReduce模型独立完成二十大报告内容的分析。能够独立完成YARN的部署。掌握使用MapReduce编写的jar包提交给YARN集群运行。素质目标通过对二十大报告的分析,了解二十大报告内容。通过对汉字的引入,了解中国汉字的由来,体会中国的文化自信。养成事前调研、做好准备工作的习惯。贯彻互助共享的精神。教学重点修改MapReduce配置文件的修改。使用MapReduce模型独立完成单词统计分析。能够独立完成YARN的部署。使用MapReduce编写的jar包提交给YARN集群运行。教学难点使用MapReduce模型独立完成单词统计分析使用MapReduce编写的jar包提交给YARN集群运行教学方法提问法、讨论法、讲授法教学时数10学时教学过程设计教学环节教学内容教师活动学生活动新课引入MapReduce编程模型,分布式存储工作原理、分布式并行计算工作原理讲解听讲记录任务描述提出本次学习的任务——MapReduce编程讲解听讲记录课程要点讲解1、使用MapReduce模型独立完成单词统计分析假设有两个文本文件,分别为words1.txt和words2.txt,现在需要计算出这两个文件中单词出现的次数。在统计单词数量任务中,可以将大的数据集切分成小的数据集,且各数据集之间相互独立,方便并行处理。此外,各个单词之间的频数不具有相关性,可以将不同的单词分发到不同的节点上处理。由此可以看出,单词统计任务的解决思路完全贴合MapReduce的编程思想。统计单词出现次数的流程如图所示:讲解提问搜集资料、交流2、MapReduce程序提交给YARN运行讲解搜集资料、交流、分组讨论详细讲解1、MapReduce单词统计分析在该任务中,程序的执行过程如下:(1)输入分片及其格式化案例中的输入文件为两个很小文本文件,单个文件的数据没有达到需要切分的程度,所以可将每个文件作为独立的分片。此外,还需要对输入分片进行格式化操作,形成<key1,value1>形式的数据流。单词统计的输入分片及其格式化如图所示:key1为偏移量,从0开始,每读取一个字符(包括空格、换行符等)就增加1,单词占2个字符;value1为每行文本内容,文本内容为字符串形式。(2)Map过程map()函数将接收到的<key1,value1>形式的输入数据流,按空格进行拆分,输出结果为<key2,value2>形式的数据。单词统计的Map过程如图所示:key2为字符串形式的单词;value2的值为1,表示单词数为1。(3)Shuffle过程由于Reduce要求输入数据有序,所以map()函数的计算结果需要经过处理(如分区、排序、归并),才可以作为reduce()函数的输入。于是,将多个Map任务的<key2,value2>形式的输出,处理成<key2,list(value2)>形式的中间结果,单词统计的Shuffle过程如图所示:(4)Reduce过程reduce()函数接收<key2,list(value2)>形式的数据流,对相同单词的值集合进行计算,汇总出单词出现的总次数。单词统计的Reduce过程如图所示:讲解分组讨论2、MapReduce程序提交给YARN运行①将编写的源代码打包,需要修改数据输入路径和数据输出路径,其余内容不改变,代码如下所示:FileInputFormat.setInputPaths(job,newPath("/wordcount/input"));FileOutputFormat.setOutputPath(job,newPath("/wordcount/output"));②使用Xshell软件的传输功能,将已经生成的wordcount.jar包传到master节点上的/usr/local/src目录下。③执行jar包,命令如下所示:hadoopjar/usr/local/src/wordcount.jarorg.mapreduce.wordcount.JobSubmitterhadoopjar是执行jar包命令,/usr/local/src/wordcount.jar是生成jar包名称,org.tzx.mapreduce.JobSubmitter是源代码中包含main方法的完整类名。hadoopjar会把本台节点上Hadoop安装目录里面的所有jar包和配置文件都加载到本次运行时的classpath中。讲解听讲记录、交流分组讨论、交流教学小结根据课堂教学情况,之处学生对本堂课中知识点难以理解的地方,结合教学重点和难点,对所学知识进一步强化。讲解学生记录布置作业数据来源于资料中的age_train.csv文件,包含用户手机设备ID(device_id)、性别(gender)、年龄(age)、年龄段(group)四个字段数据,对数据源中的数据进行如下操作:1.创建HDFS文件系统下目录文件useranaysis,其路径为“/useranaysis”,并上传数据。2.用户年龄分析,统计不同年龄的用户分布情况,结果写入“/useranaysis/userage”,按照年龄分组聚合,求取用户数;统计结果格式:“agevalues”,并且csv表头的内容不在统计范围之内;3.年龄与性别联合分析,统计不同年龄下男女用户分布情况,结果写入“/useranaysis/agegender”,结果格式为“age:gendervalues”,并且csv表头的内容不在统计范围之内;4.年龄段和性别联合分析,统计各个年龄段下男女用户分布情况,结果写入“/useranaysis/agegroup/”,获取数据格式“gender:group”,按照年龄段分组聚合,求取用户数,结果格式:gender:groupvalues,并且csv表头的内容不在统计范围之内。ZooKeeper教学单元名称ZooKeeper简介教学目标能力目标独立查阅相关资料的能力知识目标掌握Zookeeper的工作机制和特点了解ZooKeeper的应用场景素质目标接受新知识、自主学习、查阅资料的能力教学重点1、Zookeeper的工作机制和特点2、ZooKeeper的应用场景教学难点Zookeeper的工作机制教学方法提问法、讨论法、讲授法教学时数2学时教学过程设计教学环节教学内容教师活动学生活动新课引入学生对Hadoop分布式集群理解如何保证NameNode的节点高可用?讲解听讲记录任务描述提出本次学习的任务——了解ZooKeeper讲解听讲记录课程要点讲解1、Zookeeper的工作机制和特点关键字:Leader、Follower、Observer讲解搜集资料、交流2、ZooKeeper的应用场景分布式应用配置管理、统一命名服务、分布式通知/协调、集群管理讲解对不同子项目进行综合讲解详细讲解1.ZooKeeper工作机制Zookeeper集群中角色分配表如表所示:角色描述领导者(Leader)Leader负责进行投票的发起和决议,更新系统状态学习者(Learner)跟随者Follower用于接受客户请求并向客户端返回结果,在选主过程中参与投票观察者ObServer可以接收客户端连接,将写请求转发给Leader节点,但是ObServer不参加投票过程,只同步Leader的状态,ObServer的目的是为了扩展系统,提高读取速度。客户端(Client)请求发起方讲解分组讨论ZooKeeper应用场景1.分布式应用配置管理假如程序是分布式部署在多台计算机上,要改变程序的配置文件,需要逐台计算机去修改,非常麻烦,现在把这些配置全部放到ZooKeeper上去,保存在ZooKeeper的某个目录节点中,然后所有相关应用程序对这个目录节点进行监听,一旦配置信息发生变化,每个应用程序就会收到ZooKeeper的通知,然后从ZooKeeper获取新的配置信息应用到系统中。2.统一命名服务这个主要是作为分布式命名服务,通过调用ZooKeeper的API,能够很容易创建一个全局唯一的path,这个path就可以作为一个名称。3.分布式通知/协调ZooKeeper中特有watcher注册与异步通知机制,能够很好的实现分布式环境下不同系统之间的通知与协调,实现对数据变更的实时处理。通常是不同系统都对ZooKeeper上同一个znode进行监听,监听znode的变化,其中一个系统更新了znode,那么另一个系统能够收到通知,并作出相应处理。4.集群管理HBaseMaster选举则是ZooKeeper经典的使用场景,以及Storm集群管理。讲解听讲记录、交流教学小结根据课堂教学情况,之处学生对本堂课中知识点难以理解的地方,结合教学重点和难点,对所学知识进一步强化。讲解学生记录布置作业1.简述ZooKeeper应用的场景。2.描述ZooKeeper的工作原理,及其在高可用集群搭建过程中的作用。ZooKeeper教学单元名称ZooKeeper安装与配置教学目标能力目标具有独立自主的开发能力和解决问题的能力知识目标掌握ZooKeeper的安装掌握ZooKeeper的配置素质目标接受新知识、自主学习解决问题、创新的能力教学重点1、ZooKeeper的安装2、ZooKeeper的配置教学难点ZooKeeper的安装教学方法项目向导、任务驱动、分组讨论教学时数8学时教学过程设计教学环节教学内容教师活动学生活动新课引入ZooKeeper工作机制和特点讲解听讲记录任务描述提出本次学习的任务——ZooKeeper安装与配置讲解听讲记录任务部署1完成ZooKeeper安装与配置讲解搜集资料、交流任务实施1①下载zookeeper-3.4.13.tar.gz安装包。②使用Xshell软件的传输功能,将下载完成的zookeeper-3.4.13.tar.gz安装包传到master节点上的/usr/local/src目录下③将zookeeper-3.4.13.tar.gz解压到/usr/local/src目录下,执行以下命令:tar-zxvf/usr/local/src/zookeeper-3.4.13.tar.gz-C/usr/local/src④为了配置ZooKeeper系统环境变量方便,此处可以修改ZooKeeper安装目录名,命令如下:mv/usr/local/src/zookeeper-3.4.13/usr/local/src/zookeeper⑤配置Zookeeper系统环境变量,修改文件/etc/profile,修改命令如下所示:vi/etc/profile⑥在/etc/profile文件的末尾添加如下内容:exportZOOKEEPER_HOME=/usr/local/src/zookeeperexportPATH=$PATH:$ZOOKEEPER_HOME/bin⑦/etc/profile文件配置完成之后,需要使刚刚修改的内容生效,执行如下命令:source/etc/profile⑧拷贝/etc/profile文件到另外两个节点,执行如下命令:scp-r/etc/profileroot@slave1:/etc/profilescp-r/etc/profileroot@slave2:/etc/profile⑨在slave1和slave2节点上,刷新/etc/profile文件,使得刚刚修改的内容生效,在slave1和slave2节点上执行如下命令:source/etc/profile⑩生成zoo.cfg文件切换到zookeeper/conf目录下面,该目录下面有zoo_sqoop.cfg文件,拷贝配置文件,配置文件名为zoo.cfg,注意配置文件名一定为zoo.cfg,否则读取不到配置文件,拷贝zoo.cfg配置文件的命令如下:cpzoo_sqoop.cfgzoo.cfg⑪修改zoo.cfg文件,zoo.cfg文件修改内容如下:dataDir=/usr/local/src/zookeeper/datadataLogDir=/usr/local/src/zookeeper/logdataDir的值和dataLogDir的值修改为上述内容,在zoo.cfg文件的的末尾添加如下内容:server.1=master:2888:3888server.2=slave1:2888:3888server.3=slave2:2888:3888⑩在/usr/local/src/zookeeper目录下创建data目录和log目录,data目录用来存放ZooKeeper的数据文件,log目录用来存放ZooKeeper的日志文件。data目录和log目录的创建位置与zoo.cfg配置文件的中dataDir和dataLogDir的值相同。命令如下所示:cd/usr/local/src/zookeepermkdirdatamkdirlog⑪将zookeeper拷贝到另外两个节点scp-r/usr/local/src/zookeeperroot@slave1:/usr/local/src/zookeeperscp-r/usr/local/src/zookeeperroot@slave2:/usr/local/src/zookeeper⑫创建服务器myid在data目录下创建一个myid的文件,里面的值可以给个任意的值,但要和上述服务器server.x对应,在本书中,master节点上myid的值为1,slave1节点上myid的值为2,slave2节点上myid的值为3。修改master上myid的命令如下所示:cd/usr/local/src/zookeeper/data/echo1>>myid在slave1节点上修改myid的命令如下所示:cd/usr/local/src/zookeeper/data/echo2>>myid在slave2节点上修改myid的命令如下所示:cdusr/local/src/zookeeper/data/echo3>>myid⑬启动ZooKeeper集群配置文件配置完成之后,就可以启动ZooKeeper集群,启动ZooKeeper集群需要在每个节点上都使用启动命令,ZooKeeper集群的服务只能每个节点单独启动,没有命令能一次全部启动,需在master、slave1和slave2上粉笔执行启动Zookeeper集群命令,命令如下所示:zkServer.shstart⑭验证Zookeeper集群在master、slave1和slave2上分别执行zkServer.shstatus命令,此时在master、slave1和slave2任意一个节点上出现一个leader,另外两个是follower,即集群启动成功,启动成功如下所示:[root@masterzookeeper]#./bin/zkServer.shstatusZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/src/zookeeper/bin/../conf/zoo.cfgMode:follower[root@slave1zookeeper]#./bin/zkServer.shstatusZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/src/zookeeper/bin/../conf/zoo.cfgMode:leader[root@masterzookeeper]#./bin/zkServer.shstatusZooKeeperJMXenabledbydefaultUsingconfig:/usr/local/src/zookeeper/bin/../conf/zoo.cfgMode:follower讲解演示模仿操作、交流、归纳总结教学小结学生演示:按照任务要求进行演示。教师点评:根据学生配置情况进行验收点评,同时给出实验成绩。讲解学生记录布置作业练习Spark环境的安装与配置练习Sparkshell应用Hive实战教学单元名称Hive简介及应用场景教学目标能力目标独立查阅相关资料的能力知识目标掌握Hive的工作原理和特点。了解Hive的应用场景。了解Sqoop的原理及特点。素质目标接受新知识、自主学习、查阅资料的能力教学重点1、Hive的工作原理和特点。2、Hive的应用场景。3、Sqoop的原理及特点。教学难点Hive的工作原理和特点教学方法提问法、讨论法、讲授法教学时数2学时教学过程设计教学环节教学内容教师活动学生活动新课引入数据仓库的应用场景讲解听讲记录任务描述提出本次学习的任务——了解Hive讲解听讲记录课程要点讲解Hive概述关键字:特性、产生历程讲解搜集资料、交流Hive应用场景讲解对不同子项目进行综合讲解详细讲解1.Hive概述ApacheHive是由Apache软件基金会的志愿者Facebook提供的开源项目,开源用于解决海量结构化日志的数据统计工具,最初是ApacheHadoop下的一个子项目,后来升级为Apache的顶级项目。Hive的本质是将HQL转化成MapReduce程序,HQL转化成MapReduce的流程如图所示:讲解分组讨论2、Hive应用场景使用Hive进行数据分析时具有以下优点:(1)操作接口采用类SQL语法,提供快速开发的能力,便于理解。(2)Hive的执行延迟比较高,因此Hive常用于数据分析对实时性要求不高的场合。(3)Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟比较高。(4)Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。使用Hive在数据分析时处理具有以上优点以外,还有其缺点,主要体现在以下几个方面:(5)Hive的HQL表达能力有限迭代式算法无法表达递归算法;Hive不擅长数据挖掘方面操作,即不擅长数据挖掘和算法机器学习。(6)Hive的效率比较低Hive自动生成的MapReduce作业,通常情况下不够智能化,Hive调优比较困难,粒度较粗。讲解听讲记录、交流教学小结根据课堂教学情况,之处学生对本堂课中知识点难以理解的地方,结合教学重点和难点,对所学知识进一步强化。讲解学生记录布置作业1.简述MySQL在Hive中的作用。2.简述Sqoop是如何进行数据导入导出的?Hive实战教学单元名称Hive安装及操作教学目标能力目标具有独立自主的开发能力和解决问题的能力知识目标掌握Hive环境搭建掌握本地数据上传至本地仓掌握sqoop环境的配置掌握Hive与MySql数据互传素质目标接受新知识、自主学习解决问题、创新的能力教学重点1、掌握Hive环境搭建2、掌握本地数据上传至本地仓3、掌握sqoop环境的配置4、掌握Hive与MySql数据互传教学难点本地数据上传至本地仓和Hive与MySql数据互传教学方法项目向导、任务驱动、分组讨论教学时数16学时教学过程设计教学环节教学内容教师活动学生活动新课引入介绍Hive数据仓和Mysql数据库讲解听讲记录任务描述提出本次学习的任务——Hive环境搭建及其数据仓应用讲解听讲记录任务部署1完成Hive环境搭建讲解搜集资料、交流任务实施11.将Hive安装包传送到Linux操作系统服务器端scp./apache-hive-2.3.4-bin.tarhadoop@34:/home/hadoop讲解演示模仿操作2.将Hive安装包解压到/usr/local目录下,并进行解压,解压完成之后进行更名tar-zxvfapache-hive-2.3.4-bin.tar-C/usr/localmvapache-hive-2.3.4-bin.tarhive讲解演示模仿操作3.修改组用户属性sudochown-Rhadoop:hadoophive讲解演示模仿操作4.配置Hive环境变量 ·vim~/.bashrc ·在最下方加入如下代码: #Hive_ENV exportHIVE_HOME=/usr/local/hive exportPATH=$PATH:$HIVE_HOME/bin

讲解演示模仿操作5.测试Hadoop是否安装成功source~/.bashrc讲解演示模仿操作6.配置hive配置文件(注意该配置文件中的密码与在mysql中创建的hive密码应该一致。创建hive用户,密码为dashuju168)讲解演示归纳总结模仿操作记录任务部署2安装MySQL讲解演示模仿操作任务实施21.升级系统安装包sudoapt-getupdatesudoapt-getinstallmysql-server(注意:在该步骤中如果遇到mysql被锁的情况(locked),则执行sudorm/var/lib/dpkg/locksudodpkg--configure-a)讲解演示模仿操作2.配置root用户名sudomysql_secure_installation设置root用户名,密码为123456(在该步骤中都选择y(yes))登录mysqlsudomysql-uroot-p讲解演示模仿操作3.将mysql-connector-java-8.0.16.tar上传至Linux操作系统中(Linux下mysql必须安装驱动)解压到当前目录下tar-xzvfmysql-connector-java-8.0.16.tar讲解演示模仿操作4.cd到connector-java-8.0.16.tar解压包目录下,将该目录下的mysql…….jar拷贝到/usr/local/hive/lib/下,并切换回~目录cdcon+TABcpmysql…….jar/usr/local/hive/lib/cd~讲解演示模仿操作5.进入root用户sudomysql-uroot-p创建hive用户,密码为dashuju168createuser'hive'@'localhost'identifiedby'dashuju168';讲解演示归纳总结模仿操作记录6.配置mysql允许hive接入grantallprivilegeson*.*to'hive'@'localhost'withgrantoption;flushprivileges(保存,表同步)验证hive用户是否能用sudomysql-uhive-p任务部署3本地数据上传至本地仓讲解演示模仿操作任务实施31.将user.zip文件上传至CentOS7中scp./user.ziphadoop@IP地址:/home/hadoop讲解演示模仿操作2.在/usr/local下面创建bigdatacase目录,在bigdatacase目录下创建dataset目录 cd/usr/local mkdirbigdatacase cdbigdatacase mkdirdataset讲解演示模仿操作3.将user.zip上传至CentOS7中scp./user.ziphadoop@IP地址:/home/hadoop讲解演示归纳总结模仿操作记录4.下载unzip软件

sudoapt-getinstallunzip

将user.zip解压至datatcase目录中

unzipuser.zip-d/usr/local/bigdatacase/datatset5.数据集的预处理

(1)删除文件第一行记录

sed-i'1d'small_user.csv

head-10small_user.csv

(2)对字段进行预处理

编写pre_deal.sh

(3)执行pre_deal.sh

cd/usr/local/bigdatacase/dataset

bash./pre_deal.shsmall_user.csvuser_table.txt

head-10user_table.txt讲解演示归纳总结模仿操作记录任务部署4导入数据库讲解演示模仿操作任务实施41.将user_table.txt上传至HDFS上

在HDFS上创建/bigdatacase/dataset

cd/usr/local/hadoop

hdfsdfs-mkdir-p/bigdatacase/dataset

在hadoop目录下操作命令:hdfsdfs-put/usr/local/bigdatacase/dataset/user_table.txt/bigdatacase/dataset

查看HDFS上user_table.txt的前10行

hdfsdfs-cat/bigdatacase/dataset/user_table.txt|head10讲解演示模仿操作2.在Hive上创建数据库(1)启动mysql服务service mysqlstart(2)启动hivecd/usr/local/hiveHive(3)在hive中创建一个数据库dblab;createdatabasedblab;usedblab;讲解演示模仿操作创建外部表讲解演示模仿操作4.查询hive中的数据select*frombigdata_userlimit10;讲解演示模仿操作任务部署5Sqoop的安装及配置讲解演示模仿操作任务实施5安装sqoop讲解演示模仿操作配置sqoop-env.sh文件讲解演示模仿操作配置环境变量讲解演示模仿操作讲解演示模仿操作测试与mysql是否连通讲解演示归纳总结模仿操作记录任务部署6mysql数据导入到hive中讲解演示模仿操作任务实施6进入到mysql中sudomysql-uhive-pdashuju168

showdatabases;

createdatauserdb;

createtableifnotexistsuuser(idintunsignedauto_incrementunamevarchar(128)notnull,uphonevarchar(11)notnull,PRIMARYKEY(id))ENGINE=InnoDBDEFAULTCHARSET=utf8;

insertintouuservalue(NULL,'JackMa','12345678901');

insertintouuservalue(NULL,'ZhangSan','11111111111');

insertintouuservalue(NULL,'LiSi','22222222222');讲解演示模仿操作2.将mysql数据导入到hive中

sqoopimport--connectjdbc:mysql://localhost:3306/userdb--usernamehive--passworddashuju168--tableuuser--hive-import-m1--fields-terminated-by','--hive-tableuuser2(uuser位于hadoop伪分布式下的/user/hadoop/uuser)

cp/usr/local/hive/lib/hive-common-…….jar/usr/local/sqoop/lib/

hadoopfs-rm-ruuser讲解演示模仿操作3.查看mysql数据导入到hive中

showtables;

select*fromuuser2;讲解演示模仿操作4.将hive中的数据导入到mysql中

(1)进入mysql

sudomysql-uhive-pdashuju168

useuserdb;

createtableuuser3likeuuser;(复制表结构)

descuuser3;查看表结构

(2)从hive中导出数据到mysql中

sqoopexport--connectjdbc:mysql://localhost:3306/userdb--usernamehive--passworddashuju168--tableuuser3--fields-terminated-by','--export-dir/user/hive/warehouse/uuser2

(3)在mysql中查看uuser3

select*fromuuser3讲解演示归纳总结模仿操作记录教学小结学生演示:按照任务要求进行演示。教师点评:根据学生配置情况进行验收点评,同时给出实验成绩。讲解学生记录布置作业1、练习Hive环境配置,并对其进行测试2、安装MySql、以及在hive上创建数据库3、本地数据上传至本地仓4、sqoop的安装及其配置5、mysql数据导入到hive中HBase实战教学单元名称HBase简介教学目标能力目标具有自主学习、分析问题的能力知识目标HBase概述HBase访问接口HBase数据模型HBase的实现原理HBase运行机制素质目标探索新知识、自主学习、查阅资料的能力教学重点HBase概述HBase访问接口HBase数据模型HBase的实现原理HBase运行机制教学难点HBase的实现原理和运行机制教学方法提问法、讨论法、讲授法教学时数2学时教学过程设计教学环节教学内容教师活动学生活动新课引入关系型数据库非关系型数据库讲解听讲记录任务描述提出本次学习的任务——分布式数据库HBase讲解听讲记录课程要点讲解1.HBase概述重点介绍HBase数据库和HBase与关系型数据库的区别讲解提问搜集资料、交流2.HBase访问接口重点介绍HBase的访问接口讲解听讲记录3.HBase数据模型重点介绍数据模型及其相关概念,数据坐标、概念视图、物理视图和面向列的存储

讲解听讲记录4.HBase的实现原理重点介绍HBase的功能组件、表和Region,以及Region的定位讲解提问搜集资料、交流HBase运行机制重点介绍HBase系统架构、Region服务器的工作原理、Store的工作原理和HLog的工作原理讲解提问搜集资料、交流详细讲解1.HBase概述1)BigTable简介BigTable是一个分布式存储系统BigTable起初用于解决典型的互联网搜索问题2)HBase简介HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库,是谷歌BigTable的开源实现,主要用来存储非结构化和半结构化的松散数据3)HBase与传统的关系数据库的区别数据类型、数据操作、存储模式、数据索引、数据维护、可伸缩性讲解分组讨论2.HBase访问接口NativeJavaAPI、HBaseShell、ThriftGateway、RESTGateway、Pig、Hive讲解听讲记录、交流3.HBase数据模型1)数据模型概述HBase是一个稀疏、多维度、排序的映射表,这张表的索引是行键、列族、列限定符和时间戳。2)数据模型相关概念表、列族、列限定符、单元格、时间戳数据坐标HBase中需要根据行键、列族、列限定符和时间戳来确定一个单元格,因此,可以视为一个“四维坐标”4)列式存储讲解分组讨论、交流4.HBase的实现原理1)HBase功能组件库函数:链接到每个客户端一个Master主服务器许多个Region服务器表和Region一个HBase表被划分成多个Region3)Region的定位元数据表,又名.META.表,存储了Region和Region服务器的映射关系。讲解分组讨论、交流5.HBase运行机制1)HBase系统架构2)Region服务器工作原理Store工作原理Store是Region服务器的核心多个StoreFile合并成一个单个StoreFile过大时,又触发分裂操作,1个父Region被分裂成两个子Region4)HLog工作原理分布式环境必须要考虑系统出错。HBase采用HLog保证系统恢复讲解分组讨论、交流教学小结本节课内容理解起来有一定的困难,根据课堂教学情况,之处学生对本堂课中知识点难以理解的地方,结合教学重点和难点,对所学知识进一步强化。讲解学生记录布置作业1、阐述HBase与传统关系数据库的区别?2、分别解释HBase中的行键、列键和时间戳的概念?3、描述HB

温馨提示

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

最新文档

评论

0/150

提交评论