欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Hadoop大数据开发基础课件汇总整本书电子教案全套课件完整版ppt最新教学教程.pptx

    • 资源ID:75768097       资源大小:13.40MB        全文页数:393页
    • 资源格式: PPTX        下载积分:19金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要19金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Hadoop大数据开发基础课件汇总整本书电子教案全套课件完整版ppt最新教学教程.pptx

    Hadoop大数据开发基础初识Hadoop及HDFS分布式系统课程目标Hadoop的宏观介绍了解Hadoop生态系统掌握HDFS分布式文件系统的基本使用搭建Hadoop伪分布式文件系统课程任务完成Hadoop伪分布式文件系统的搭建HDFS Shell命令操作Java API 访问 HDFS目录CONTENTS1初识Hadoop2HDFS分布式文件系统介绍3Hadoop伪分布环境搭建4HDFS常用命令和应用01初识Hadoop1.1 大数据概述定义:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合1.1 大数据概述特征:海量的数据规模快速的数据流转多样的数据类型价值密度低1.1 大数据概述结构:大数据包括以下三种形式的数据:结构化:也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。半结构化:非关系模型的、有基本固定结构模式的数据,例如日志文件、XML文档、JSON文档、Email等。非结构化数据:没有固定模式的数据,如WORD、PDF、PPT、EXL,各种格式的图片、视频等。1.2 大数据技术数据采集1.2 大数据技术大数据存储和管理利用分布式文件系统、数据仓库、关系数据库、NoSQL数据库、云数据库等,实现对结构化、半结构化和非结构化海量数据的存储和管理分布式文件系统NoSQL数据库关系数据库数据仓库结构化数据半结构化数据非结构化数据对象存储1.2 大数据技术大数据处理与分析利用分布式并行编程模型和计算框架,结合机器学习和数据挖掘算法,实现对海量数据的处理和分析;对分析结果进行可视化呈现,帮助人们更好地理解数据、分析数据机器学习数据挖掘算法批量计算数据流计算内存计算查询计算海量数据1.3 Hadoop是什么HadoopApache开源软件基金会开发运行在大规模普通服务器上用于大数据存储、计算、分析分布式存储系统和分布式运算框架Hadoop主要有三个核心模块组成 分布式文件系统HDFS分布式运算框架MR资源管理器YARN1.4 Hadoop的起源和发展Hadoop最早起源于NutchNutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题如何解决数十亿网页的存储和索引问题谷歌发表的两篇论文为该问题提供了可行的解决方案分布式文件系统(GFS),可用于处理海量网页的存储分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题Nutch的开发人员完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP到2008年1月,HADOOP成为Apache顶级项目,迎来了它的快速发展期1.5 Hadoop的生态系统狭义上来说,Hadoop就是单独指代Hadoop这个软件广义上来说,Hadoop指代大数据的一个生态圈,包括很多其他的软件1.6 Hadoop的意义Hadoop的意义可以利用低成本有效缩短数据的处理时间在大数据中发掘商业价值用Hadoop可以快速搭建自己的分布式存储系统用Hadoop可以快速搭建自己的分布式运算系统具体应用Facebook支付宝历史账单(HBase)Twitter处理tweets,日志等信息(Hadoop)Amazon处理交易记录,推荐系统(Hadoop)Apple siri 处理问答信息(HBase)02HDFS分布式文件系统介绍2.1 分布式文件系统分布式文件系统是基于Master/Slave模式,通常一个分布式文件系统提供多个供用户访问的服务器分布式文件系统一般都会提供备份和容错的功能分布式文件系统一般都会基于操作系统的本地文件系统分布式文件系统管理的物理资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连2.2 分布式文件系统传统文件系统最大的问题是容量和吞吐量的限制多用户多应用的并行读写是分布式文件系统产生的根源扩充存储空间的成本低廉可提供冗余备份可以为分布式计算提供基础2.3 什么是HDFSHDFSHadoop Distributed File SystemHDFS是一个使用Java实现的、分布式的、可横向扩展的文件系统2.4 HDFS设计目标自动快速检测应对硬件错误支持大数据集(大文件)存储移动计算比移动数据本身更划算简单一致性模型2.5 HDFS的架构HDFS的架构2.6 HDFS的核心概念Block(块)NameNodeDataNode元数据SecondaryNameNode2.6.1 Block的概念文件被切分成固定大小的数据块默认数据块大小为128MB(hadoop2.x)若文件大小不到128MB,则单独存成一个block 一个文件存储方式按大小被切分成若干个block,存储到不同节点上 默认情况下每个block都有三个副本(平等)2.6.2 NameNodeNameNode是用来管理文件系统命名空间的组件流式访问数据NameNode上存放了HDFS的元数据元数据保存在NameNode的内存中,以便快速查询2.6.3 NameNode元数据持久化元数据有两个重要文件fsimage:元数据镜像文件(保存文件系统的目录树)edits:元数据操作日志(针对目录树的修改操作)fsimage和edits存储位置 内存中保存一份最新的=fsimage+edits由dfs.namenode.name.dir属性描述,可以是一组目录合并fsimage与editsEdits文件过大将导致NameNode重启速度慢2.6.4 SecondaryNameNode(SNN)SNN的主要工作是帮助NN合并edits,减少NN启动时间SNN执行合并时机根据配置文件设置的时间间隔fs.checkpoint.period 默认3600秒 根据配置文件设置edits log大小 fs.checkpoint.size 规定edits文件的最大值默认是64MB2.6.5 SNN合并流程SNN合并流程2.6.6 DataNode块缓存对于频繁访问的文件,其对应的块可以显示缓存到datanode的内存中 Block大小和副本数通过Client端上传文件时设置2.6.7 Block的副本放置策略第一个副本:放置在上传文件的DN;如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点第二个副本:放置在于第一个副本不同的 机架的节点上第三个副本:与第二个副本相同机架的节点更多副本:随机节点RackARackB2.7 HDFS写流程HDFS写流程2.8 HDFS读文件HDFS读文件03Hadoop伪分式环境搭建3.1 Hadoop安装的三种模式单机模式:本地文件系统伪分布式模式:用多个线程模拟多台机器,模拟真实的分布式环境完全分布式模式:用多台机器(或启动多个虚拟机)来完成部署集群3.2 搭建准备工作安装JDK修改主机名配置/etc/hosts 文件安装SSH免密通道配置HADOOP_HOME环境变量3.3 Hadoop相关配置配置 etc/hadoop-env.sh配置 etc/hadoop/core-site.xml配置 etc/hadoop/hdfs-site.xml配置 etc/hadoop/slaves3.4 启动Hadoop格式化文件系统 启动NameNode和DataNode后台进程访问NameNode的web管理页面3.5Hadoop伪分布式系统搭建练习操作系统要求使用CentOS7或Ubuntu16.04Hadoop的安装版本为2.x现场练习时间:时间:4545分钟分钟04HDFS常用命令和应用4.1 HDFS命令行基本操作 创建目录查看目录下文件上传文件下载文件删除文件和目录4.2 HDFS Java API的核心类和接口 Configuration类封装了客户端、服务器的配置Path类文件路径的封装FileSystem该类的对象是一个文件系统对象,可用于对文件进行操作FSDataInputStream HDFS中的输入流,通过FileSystem的open方法获得FSDataOutputStreamHDFS中的输出流,通过FileSystem的create方法获得4.3 基于Java API编程实例创建目录递归显示文件文件上传 文件下载4.4 HDFS操作及编程练习在Linux下使用hdfs dfs脚本完成HDFS的基本文件操作H使用IDEA开发工具,调用Hadoop提供的JAVA API完成对HDFS的基本文件操作(创建目录、递归显示文件、上传文件、下载文件)现场练习时间:时间:4545分钟分钟课程总结了解了大数据的概念以及什么是大数据技术;了解了Hadoop技术的起源、发展以及目前的生态;学习了HDFS的核心概念和原理掌握了Hadoop伪分布模式的搭建;能使用Shell和JavaAPI对HDFS文件系统进行基本的操作;课程作业课下作业用Java API编写一个程序,实现在HDFS上创建一个demo.txt,并向文件中写入“Hello Hadoop!“预习作业了解Zookeeper 的使用了解HDFS高可用的机制成 为 一 流 的 双 创 实 践 性 教 学 资 源 服 务 提 供 商!以 双 创 实 践 性 人 才 培 养 为 己 任,助 力 国 家 产 业 转 型 升 级!Hadoop大数据开发基础分布式协调服务ZooKeeper和HDFS高可用性课程回顾及作业点评检查Java API基于HDFS四个案例的完成情况预习检查ZooKeeper是什么?ZooKeeper能解决大数据应用中哪些问题?课程目标掌握ZooKeeper基本概念掌握ZooKeeper安装搭建过程熟练使用ZooKeeper服务端和客户端常用命令熟练使用Java API访问ZooKeeper掌握使用Java API编写基于ZooKeeper的应用程序了解ZooKeeper内部原理了解什么是高可用掌握HDFS缓存技术的使用掌握HDFS完全分布式搭建了解HDFS高可用架构掌握HDFS高可用搭建课程任务完成ZooKeeper集群的搭建完成ZooKeeper服务端和客户端常用命令的练习完成Java API访问 ZooKeeper的练习完成Java API基于ZooKeeper的应用程序的开发完成HDFS缓存应用案例的练习完成HDFS完全分布式的搭建完成HDFS高可用架构的搭建目录CONTENTS1234ZK作用和基本概念ZK集群搭建和使用ZK操作和API编程ZK原理分析5678高可用介绍HDFS缓存HDFS完全分布式搭建HDFS高可用架构搭建01ZK作用和基本概念1.1 分布式应用概述分布式应用:应用程序分布在不同计算机上,通过网络来共同完成一项任务。通常为服务器/客户端模式。1.2 分布式应用的优缺点优点:可靠性可扩展性缺点:竞争条件死锁不一致1.3 ZooKeeper 是什么概念:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop生态的重要组件。它是一个为分布式应用提供一致性服务的软件。特点:简单的分布式协调过程具有高可用性顺序一致性高性能1.4 ZooKeeper 的主要应用ZooKeeper的主要应用分布式锁集群管理配置管理命名服务1.5 ZooKeeper的架构组件件描述描述Client(客户端)客户端,向服务器发送服务请求。Server(服务器)服务器,为客户端提供所有的服务。EnsembleZooKeeper服务器组。形成ensemble所需的最小节点数为3。Leader负责响应所有对ZooKeeper状态变更的请求Follower响应本服务器上的读请求外,follower还要处理leader的提议。ZooKeeper的架构1.6 数据模型和层次命名空间数据模型和层次命名空间1.7 Znode的类型持久节点即使在创建该特定znode的客户端断开连接后,持久节点仍然存在。临时节点客户端活跃时,临时节点就是有效的。当客户端与ZooKeeper集合断开连接时,临时节点会自动删除。临时节点不允许有子节点顺序节点顺序节点可以是持久的或临时的。当一个新的znode被创建为一个顺序节点时,ZooKeeper通过将10位的序列号附加到原始名称来设置znode的路径。02ZK集群搭建2.1 安装步骤安装步骤创建并配置zoo.cfg文件创建并配置my.id文件03ZK操作和API编程3.1 服务端常用命令启动ZooKeeper服务zkServer.sh start查看ZooKeeper 服务状态zkServer.sh status停止ZooKeeper 服务zkServer.sh stop重启ZooKeeper服务zkServer.sh restart3.2 客户端连接Zookeeper的相关操作connect命令与 ls命令create命令创建节点get命令获取数据与信息set命令修改节点内容delete命令删除节点3.3 使用Java API访问ZooKeeperZooKeeper API的核心部分是ZooKeeper类connect-连接到ZooKeeper集合create-创建znodeexists-检查znode是否存在及其信息getData-从特定的znode获取数据setData-在特定的znode中设置数据getChildren-获取特定znode中的所有子节点delete-删除特定的znode及其所有子项close-关闭连接3.6 ZooKeeper集群搭建及命令练习使用三台虚机或者云服务器完成ZooKeeper集群搭建在搭建好的集群上进行服务端和客户端命令的练习现场练习时间:时间:4545分钟分钟3.4 使用Java API编程入门案例项目环境搭建创建ZooKeeper客户端创建子节点获取子节点并监听判断znoe节点是否存在设置和获取数据获得子节点列表删除节点现场编程演示案例:入门案例演示案例:入门案例编程编程3.5 使用Java API编程官方案例解读演示案例:监听器案例演示案例:监听器案例编程编程现场编程使用Java API编程官方案例解读3.6 Java API编程练习使用Java API完成ZK的连接及CRUD操作使用Java API完成官网监听器案例的编写练习现场练习时间:时间:9090分钟分钟04ZK原理分析4.1 一致性协议Zab协议什么是Zab协议?Zab协议的作用Zab协议核心原理4.1.1 什么是ZAB协议Zab 协议全称:Zookeeper Atomic Broadcast(Zookeeper 原子广播协议)定义:Zab 协议是为分布式协调服务 Zookeeper 专门设计的一种支持 崩溃恢复 和 原子广播 协议4.1.2 Zab协议的作用使用一个单一的主进程(Leader)来接收并处理客户端的事务请求(也就是写请求),并采用了Zab的原子广播协议,将服务器数据的状态变更以 事务proposal(事务提议)的形式广播到所有的副本(Follower)进程上去。保证一个全局的变更序列被顺序引用。当主进程出现异常的时候,整个zk集群依旧能正常工作。4.1.3 Zab协议核心原理Zab协议核心原理4.2 leader选举相关概念Zookeeper节点状态事务IDleader选举时机4.2.1 leader选举Zookeeper节点状态LOOKING:寻找Leader状态,处于该状态需要进入选举流程LEADING:领导者状态,处于该状态的节点说明是角色已经是LeaderFOLLOWING:跟随者状态,表示Leader已经选举出来,当前节点角色是followerOBSERVER:观察者状态,表明当前节点角色是observer4.2.2 leader选举事务IDZooKeeper状态的每次变化都接收一个ZXID(ZooKeeper事务id)形式的标记。ZXID是一个64位的数字,由Leader统一分配,全局唯一,不断递增。ZXID展示了所有的ZooKeeper的变更顺序。每次变更会有一个唯一的zxid,如果zxid1小于zxid2说明zxid1在zxid2之前发生。4.2.3 集群初始化启动时Leader选举集群初始化启动时Leader选举4.2.4 集群运行期间Leader重新选举集群运行期间Leader重新选举05高可用介绍5.1 计算机系统的高可用什么是高可用通常是指,通过设计减少系统不能提供服务的时间假设系统一直能够提供服务,我们说系统的可用性是100%如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%很多公司的高可用目标是4个9,也就是99.99%,这就意味着,系统的年停机时间为8.76个小时如何保障系统的高可用:通过冗余+自动故障转移来保证系统的高可用特性06HDFS缓存6.1 HDFS缓存应用案例缓存管理命令hdfs cacheadminhdfs cacheadmin-addPool 缓存池名称hdfs cacheadmin-addDirective-path 文件路径-pool 缓存池名称hdfs cacheadmin-listDirectives-pool 缓存池名称-stats 通过执行下载文件程序体验应用缓存前后的性能现场编程演示案例:演示案例:HDFSHDFS缓存应用缓存应用编程编程07HDFS完全分布式搭建7.1 完全分布式搭建步骤修改每台机器主机名(hostname)修改每台机器/etc/hosts文件配置ssh,实现无密码登录修改hadoop-env.sh和yarn-env.sh文件配置core-site.xml配置hdfs-site.xml配置mapred-site.xml配置yarn-site.xml配置slaves文件7.2 HDFS完全分布式搭建练习基于三台虚机或云服务器完成搭建Hadoop的安装版本为2.x现场练习时间:时间:4545分钟分钟08HDFS高可用架构搭建8.1 HDFS的基本架构HDFS的基本架构8.2 HDFS高可用架构HDFS高可用架构8.3 高可用架构榙建思路完全分布式集群搭建ZooKeeper集群搭建高可用相关节点配置node1node2node3NNNNZKFCZKFCJNJNJNZKZKZKDNDNDN8.4 HDFS高可用搭建练习基于三台虚机或云服务器完成搭建Hadoop的安装版本为2.x现场练习时间:时间:9090分钟分钟课程总结了解了ZooKeeper的作用学习了ZooKeeper的基本概念掌握了ZooKeeper集群的搭建能熟练使用ZooKeeper服务端和客户端命令掌握使用Java API对ZooKeeper进行基本的操作掌握使用Java API编写基于ZooKeeper的应用开发了解了ZooKeeper中的一致性协议Zab协议了解了ZooKeeper的leader节点选举过程了解了什么是高可用掌握HDFS缓存的简单应用学习了HDFS高可用架构的原理掌握了HDFS高可用架构的搭建课程作业课下作业详细描述ZooKeeper的leader选举过程完成HDFS高可用搭建实验报告预习作业了解ZooKeeper在HDFS高可用的机制中的作用了解MapReduce的使用了解YARN的作用和运行机制成 为 一 流 的 双 创 实 践 性 教 学 资 源 服 务 提 供 商!以 双 创 实 践 性 人 才 培 养 为 己 任,助 力 国 家 产 业 转 型 升 级!Hadoop大数据开发基础分布式并行计算MapReduece课程回顾及作业点评检查学习对ZooKeeper的leader选举过程的掌握情况检查学生对HDFS高可用架构的掌握情况预习检查MapReduce的作用是什么,是如何用于大数据计算的?ZooKeeper在HDFS高可用的机制中的作用是什么?课程目标掌握MapReduce应用开发理解MapReduce的内部工作机制课程任务完成MapReduce WordCount案例的练习目录CONTENTS1234MapReduce介绍MapReduce快速入门MapReduce应用开发详解MapReduce工作机制01MapReduce介绍1.1 MapReduce是什么定义:MapReduce是一个软件框架,用于以可靠的、容错的方式在大型集群(数千个节点)上并行处理大量数据的应用程序。起源:源自于Google的MapReduce论文主要功能:数据划分和计算任务调度数据/代码互定位系统优化出错检测和恢复1.2 MapReduce的应用场景适合 PB 级以上海量数据的离线处理:简单的数据统计,比如网站pv、uv统计搜索引擎建立索引复杂数据分析算法实现.1.3 MapReduce不适合以下方面实时计算:在毫秒级或者秒级内返回结果流式计算:MapReduce的输入数据集是静态的,不能动态变化DAG计算:多个应用程序存在依赖关系,后一个应用程序的输入为前一个的输出1.4 MapReduce运行原理运行原理1.5 MapReduce运行原理说明场景分析1.5.1 MapReduce运行原理说明数据切分1.5.2 MapReduce运行原理说明数据变换1.5.3 MapReduce运行原理说明洗牌1.5.4 MapReduce运行原理说明洗牌分两个阶段1.5.5 MapReduce运行原理说明合并1.5.6 MapReduce运行原理说明最终结果 1.5.7 MapReduce运行原理说明总结 02MapReduce快速入门2.1 WordCount案例需求分析统计一堆文件中单词出现的个数数据准备:hello.txthello worlddog fishhadoop sparkhello worlddog fishhadoop sparkhello worlddog fishhadoop spark现场编程演示案例:演示案例:WWordCountordCount案例案例编程编程2.2 WordCount案例原理步骤WordCount案例原理步骤 03MapReduce应用开发详解3.1 应用开发详解用MRUnit编写单元测试使用日志分析作业运行情况作业远程调试现场演示演示示例:应用开发演示演示示例:应用开发演示04MapReduce工作机制4.1 MapReduce编程模型内部逻辑MapReduce编程模型内部逻辑4.2 MapReduce编程模型InputFormat文件分片(InputSplit)方法将分片数据解析成key/value对默认实现是TextInputFormatKey是行在文件中的偏移量,value是行内容4.3 MapReduce编程模型Split与BlockBlockHDFS中最小的数据存储单位默认是128MBSplitMapReduce中最小的计算单元 默认与Block一一对应Block与SplitSplit与Block的对应关系是任意的,可由用户控制4.4 MapReduce编程模型 CombinerMapReduce编程模型Combiner4.4 MapReduce编程模型 CombinerCombiner可做看local reducer合并相同的key对应的value通常与Reducer逻辑一样好处减少Map输出数据(磁盘IO)减少Reduce-Map网络传输数据量(网络IO)4.5 MapReduce编程模型 PartitionerPartitioner决定了Map Task输出的每条数据交给哪个Reduce Task处理默认实现:hash(key)mod RR是Reduce Task数目允许用户自定义4.6 MapReduce编程模型 ShuffleMapReduce编程模型Shuffle4.6 MapReduce编程模型 Map端Shuffle每个map task都有一个内存缓冲区(默认是100MB),存储着map的输出结果 当缓冲区快满的时候需要将缓冲区的数据以一 个临时文件的方式存放到磁盘(Spill)溢写是由单独线程来完成,不影响往缓冲区写map结果的线程(spill.percent,默认是0.8)当溢写线程启动后,需要对这80MB空间内的key做排序 4.6 MapReduce编程模型 Reduce端ShuffleMapReduce编程模型Reduce端Shuffle4.7 WordCount案例编程练习基于Hadoop伪分布集群完成Hadoop的安装版本为2.x现场练习时间:时间:9090分钟分钟课程总结学习掌握了MapReduce的编程模型实际编写WordCount案例对MapReduce 的工作机制有一定的理解课程作业课下作业完成温度排序实例程序预习作业了解YARN的作用和运行机制了解Oozie的作用和简单使用成 为 一 流 的 双 创 实 践 性 教 学 资 源 服 务 提 供 商!以 双 创 实 践 性 人 才 培 养 为 己 任,助 力 国 家 产 业 转 型 升 级!Hadoop大数据开发基础Hadoop集群资源管理和数据序列化课程回顾及作业点评检查学生温度排序实例程序的完成情况预习检查YARN的作用是什么?Avro的作用是什么?课程目标理解YARN的作用和原理掌握YARN的配置和使用掌握Avro序列化技术的使用课程任务完成YARN的日志聚合功能的配置练习完成Avro入门案例的练习完成在MapReduce中使用Avro案例的练习目录CONTENTS1234YARN介绍YARN运行机制Avro介绍Avro应用01YARN介绍1.1 YARN是什么定义:YARN是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为Hadoop集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。起源:为了改善MapReduce1的不足主要功能:负责集群资源的统一管理和调度1.2 YARN的应用场景YARN的应用场景02YARN运行机制2.1 YARN的基本架构YARN的基本架构2.2 YARN的组件ResourceManager整个集群只有一个,负责集群资源的统一管理和调度NodeManager每个节点有一个处理来自ResourceManager的命令处理来自ApplicationMaster的命令ApplicationMaster每个应用一个数据切分为应用程序申请资源,并进一步分配给内部任务任务监控和容错Container任务运行的隔离环境2.3 基于YARN编写运行一个简单程序需要编写两个组件,YARNClient和ApplicationMaster2.4 MapReduce作业在Yarn上提交流程MapReduce作业提交流程2.5 YARN的安装配置mapred-site.xmlyarn-site.xml2.6 YARN 聚合日志配置yarn-site.xmlmapred-site.xml启动服务sbin/mr-jobhistory-daemon.sh start historyserver2.7 HistoryServer配置演示基于Hadoop2.x高可用集群现场演示演示示例:演示示例:HistoryServerHistoryServer配置配置演示演示基于Hadoop2.x高可用集群现场练习时间:时间:2525分钟分钟2.8 HistoryServer配置练习03Avro介绍3.1 Avro是什么定义:Avro是Hadoop的一个数据序列化系统,由Hadoop的创始人Doug Cutting开发,设计用于支持大批量数据交换的应用。起源:为了解决Hadoop现存的RPC系统遇到一些问题性能瓶颈需要服务器端和客户端必须运行相同版本的Hadoop只能使用Java开发等主要功能:支持二进制序列化方式,可以便捷,快速地处理大量数据;动态语言友好,Avro提供的机制使动态语言可以方便地处理Avro数据3.2 Avro与其他同类技术的比较动态类型Avro数据总是伴随着一个模式,该模式允许对数据进行完全处理,而不需要代码生成、静态数据类型等。这有助于构建通用的数据处理系统和语言。未标记的数据由于读取数据的时候模式是已知的,那么需要和数据一起编码的类型信息就很少了,这样序列化的规模也就小了。不需要用户指定字段号即使模式改变,处理数据时新旧模式都是已知的,所以通过使用字段名称可以解决差异问题。04Avro应用4.1 Avro RPC入门案例演示掌握Avro序列化技术的使用生成代码的序列化方式不生成代码的通用序列化方式现场演示演示示例:演示示例:Avro PRCAvro PRC案例案例演示演示4.2 Avro 模式演化案例演示掌握Avro模式演化的使用新增字段投影别名现场演示演示示例:演示示例:Avro Avro 模式演化案例模式演化案例演示演示现场练习时间:时间:6060分钟分钟4.3 Avro案例编程练习Avro RPC入门案例生成代码的序列化方式不生成代码的通用序列化方式Avro模式演化案例新增字段投影别名Avro数据上运行MapReduce使用Avro MapReduce进行排序现场演示演示示例:演示示例:MapReduceMapReduce中使用中使用AvroAvro案例案例演示演示4.4 MapReduce中使用Avro案例演示现场练习时间:时间:6060分钟分钟4.5 Avro案例编程练习MapReduce中使用Avro案例课程总结学习掌握了YARN的工作原理学习掌握了Avro技术的使用课程作业课下作业使用Avro技术改造温度排序实例程序预习作业了解Hive的使用成 为 一 流 的 双 创 实 践 性 教 学 资 源 服 务 提 供 商!以 双 创 实 践 性 人 才 培 养 为 己 任,助 力 国 家 产 业 转 型 升 级!Hadoop大数据开发基础Hadoop大数据仓库工具Hive课程回顾及作业点评检查学生Avro温度排序实例程序的完成情况预习检查Hive的作用是什么?课程目标理解Hive的组件架构和体系结构能够熟练搭建Hive及其各个组件掌握Hive表的创建和相关操作掌握分区表和分桶技术的使用掌握自定义函数UDF的编写课程任务完成Hive的搭建配置练习完成Hive表操作的练习完成Hive自定义函数编写的练习目录CONTENTS1234Hive介绍Hive安装配置Hive表的操作Hive自定义函数01Hive介绍1.1 Hive是什么定义:Hive是基于Hadoop的数据仓库工具,可以用来对存储在Hadoop中的大规模数据进行ETL操作(提取、转化、加载)。起源:由于MapReduce实现复杂查询逻辑开发难度太大为了让熟悉SQL但编程技能相对比较薄弱的分析人员可对存储在HDFS中的大数据集进行查询分析主要功能:可以将结构化、半结构化的数据文件映射为一张数据库表,并提供类SQL查询功能1.2 Hive与关系型数据库的异同区区别Hive关系型数据关系型数据库查询语言HQLSQL数据存储位置HDFS本地文件系统数据格式判断查询时判断插入时判断执行MRExecutor执行延迟主低处理数据规模大小Hive与关系型数据库的异同1.3 Hive组件总体框图 HDFSYARNHCatalogCLIBeelineHiveServer2Hive组件总体框图1.4 Hive的体系结构Thrift applicatoinJDBC applicationODBC applicationHive Thrift ClientHive JDBC DriverHive ODBC DriverCLIHive ServerHive Web InterfaceMetastoreFileSystemExecutionEngineDriverHadoopclusterMetastore databaseHive clientsHive servicesHive存储和计算Hive的体系结构1.5 Hive的应用应用场景数据仓库ETL任务网站日志分析海量数据离线分析.02Hive安装配置2.1 安装Hive确定Hive的版本需要和当前使用的Hadoop版本匹配解压安装包tar xzf apache-hive-x.y.z-bin.tar.gz设置环境变量export HIVE_HOME=安装目录路径export PATH=$PATH:$HIVE_HOME/bin2.2 元数据库设置属性名称属性名称类型型默默认值描述描述hive.metastore.warehouse.dirURI/user/hive/warehouse托管表存储位置hive.metastore.uris逗号分隔的URI未设定如果未设定,则使用当前的metastorejavax.jdo.option.ConnectionURLURIjdbc:derby:;databaseName=metastore_db;create=truemetastore数据库的JDBC URLjavax.jdo.option.ConnectionDriverName字符串org.apache.derbty.jdbc.EmbeddedDriverJDBC驱动器的类名javax.jdo.option.ConnectionUserName字符串略JDBC用户名javax.jdo.option.ConnectionPassword字符串略JDBC密码元数据库设置2.3 Hive元数据库的三种配置方式HIve元数据库的三种配置方式2.4 元数据库Server配置Hive服务端通过hive-service metastore启动元数据库服务Hive客户端在hive-site.xml中配置hive.metastore.uris2.5 关于Hive Web InterfaceHive Web Interface简称HWI,指通过浏览器以图形化的方式来使用HiveHWI只在Hive版本2.2.0之前可用,目前已被弃用。2.6 配置使用 HCatalog配置hcat_server.sh位于$HIVE_HOME/hcatalog/sbin/export HCAT_LOG_DIR=目录路径启动hcatalog服务$HIVE_HOME/hcatalog/sbin/hcat_server.sh start停止hcatalog服务$HIVE_HOME/hcatalog/sbin/hcat_server.sh stop2.7 HCatalog的好处 它有助于与其他工具的集成,并为Pig,Hive和Map/Reduce提供读写接口它将信息公开为Rest接口用于外部数据访问它还与Sqoop集成,后者是一种用于在Hadoop和关系数据库之间传输数据的工具2.8 配置使用 WebHCat启动WebHCat服务$HIVE_HOME/hcatalog/sbin/webhcat_server.sh start通浏览器访问测试http:/主机名:50111/templeton/v1/status2.9 配置hiveserver2和beeline启动hiveserver2服务$HIVE_HOME/bin/hiveserver2使用beeline$HIVE_HOME/bin/beeline-u jdbc:hive2:/主机名:10000配置hadoop中的core-site.xml设置代理用户root在hadoop中的执行权限基于Hadoop2.x高可用集群现场练习时间:时间:4545分钟分钟2.10 Hive安装配置练习03Hive表的操作3.1 Hive表的类型内部表先使用命令创建表,然后在加载文件数据到表中删除内部表时会将表的数据一并删除外部表数据文件已经存在,然后使用命令创建表并指定表的数据文件路径删除外部表时不会删除它关联的数据文件分区表单表数据量巨大,把数据按照单个或多个列进行分区存储分桶表相对分区进行更细粒度的划分,按照某列属性值的Hash值进行区分3.2 Hive的基本数据类型HIve的基本数据类型3.3 Hive的复杂数据类型array类型map类型struct类型union类型3.4 Hive基本建表语句CREATE EXTERNAL table 表名(列名 列数据类型,.)ROW FORMAT

    注意事项

    本文(Hadoop大数据开发基础课件汇总整本书电子教案全套课件完整版ppt最新教学教程.pptx)为本站会员(可****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开