计算机类教材 > 数据库技术与应用
Hadoop大数据技术与应用
书号:9787113279431 套系名称:无
作者:智酷道捷内容与产品中心 出版日期:2021-07-01
定价:79.80 页码 / 开本:无 /16
策划编辑:无 责任编辑:无
适用专业:计算机教材 适用层次:高职高专
最新印刷时间:
资源下载
教学课件
教学素材
习题答案(暂无)
教学案例
教学设计
教学视频(暂无)
内容简介
前言
目录
作者介绍
图书特色
本书是为所有热爱大数据、打算从事大数据相关工作的读者编写的,适合有Java编程基础的学习者参考使用。本书全面介绍了大数据技术生态圈,更在此基础上全景展现了Hadoop大数据分布式系统集群平台的搭建、大数据分布式文件系统HDFS、大数据分布式并行计算框架MapReduce、Hadoop大数据仓库工具Hive和海量日志采集工具Flume等大数据实用技术。本书通俗易懂、结构清晰,着重于分析解决问题的思路和具体实施过程。 本书适合作为高等院校计算机相关专业的程序设计教材,也可作为Hadoop技术的培训图书。 ?
随着互联网的高速发展,使用网络的用户越来越多,人们在使用网络的过程中产生了数量庞大的数据,这些数据极具商业价值,所以对这些数据的有效存储、管理、计算分析和应用就成为信息行业迫切需要解决的问题。大数据技术就是基于这种数据爆炸的现状产生的。那到底怎样才能解决海量数据的存储和计算分析等问题呢?Hadoop应运而生了。 Hadoop是一个能够对海量数据进行分布式处理的软件框架,它以一种可靠、高效、可伸缩的方式进行数据处理,用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。Hadoop 设计之初的目标就定位于高可靠性、高可拓展性、高容错性和高效性,正是这些设计上与生俱来的优点,才使得Hadoop一出现就受到众多大公司的青睐,在互联网领域得到了广泛运用。 本书采用“理论+实战”的形式编写,不但全面介绍了大数据技术生态圈,更在此基础上全景展现了Hadoop大数据分布式系统集群平台的搭建、大数据分布式文件系统HDFS(Hadoop Distributed File System)、大数据分布式并行计算框架MapReduce、Hadoop大数据仓库工具Hive和海量日志采集工具Flume等大数据实用技术,最后通过一个完整的Hive数据仓库项目,深入讲解了大数据技术在实际工作中的应用。本书通俗易懂、结构清晰,内容层层递进,理论与实践相结合,着重于分析解决问题的思路和具体实施过程。书中包含大量的案例讲解和练习,通过从案例需求到案例实现这一完整流程的体验,可以帮助读者真正理解与消化Hadoop大数据技术。书中案例全部源于企业真实项目,可操作性强,可轻松引导读者融会贯通相关技术。 本书特色: (1)重点突出,理论与实践结合,适合教学使用。 (2)内容结构完整,可循序渐进地教学。 (3)以图文并茂的方式展示了大数据应用程序的设计与实现过程。 另外,本书配套资源丰富,扫描书中二维码除了可以得到相应的程序源代码、教学PPT、课后练习之外,更有海量教学视频。视频囊括了书中介绍的所有内容,所有的实践案例也通过教学视频加以讲解,内容充实。 最后,本书的附录中还介绍了一个使用可视化在线云开发平台——道捷实训云平台(www.yun.51dcool.com)完成的项目,该项目直接使用道捷实训云模拟的分布式物理集群,计算每个学生相应科目的平均分,然后将同一个科目的成绩放在一个文件中,并按照平均分从高到低排序,省去了我们自己搭建大数据集群的时间,极大地提高了工作效率。 本书是为所有热爱大数据、打算从事大数据相关工作的读者编写的,适合有Java编程基础的学习者参考使用,也适合作为高等院校、培训机构的大数据技术教材。由于时间仓促,编者水平有限,书中难免有疏漏之处,敬请读者批评指正! 编?者 ? 2021年2月 ?
第1章 初识Hadoop及HDFS分布式系统1 1.1?初识Hadoop1 1.1.1大数据概述1 1.1.2大数据技术2 1.1.3Hadoop简介3 1.2?分布式文件系统(HDFS)6 1.2.1分布式文件系统6 1.2.2HDFS的定义7 1.3?Hadoop伪分布式环境搭建12 1.3.1Hadoop安装的三种模式 12 1.3.2搭建的准备工作 12 1.3.3Hadoop相关配置12 1.3.4启动Hadoop13 1.4?HDFS常用命令与应用13 1.4.1HDFS命令行基本操作 13 1.4.2HDFS Java API的核心类 和接口21 1.4.3基于Java API的编程实例 21 小结55 习题55 第2章 分布式协调服务——ZooKeeper 和HDFS高可用性56 2.1?ZooKeeper的作用和基本概念56 2.1.1分布式应用概述56 2.1.2分布式应用的优缺点57 2.1.3ZooKeeper 的概念和特点58 2.1.4ZooKeeper 的主要应用58 2.1.5ZooKeeper的架构58 2.1.6数据模型与层次命名空间59 2.1.7Znode的类型59 2.2?ZooKeeper集群的搭建60 2.3?ZooKeeper操作与API编程69 2.3.1服务端常用命令 69 2.3.2客户端连接ZooKeeper的 相关操作70 2.3.3使用Java API访问 ZooKeeper75 2.3.4使用Java API编程 ——入门案例75 2.3.5使用Java API编程 ——官方案例解读93 2.4?ZooKeeper原理分析105 2.4.1一致性协议——Zab协议105 2.4.2Leader选举106 2.5?高可用108 2.6?HDFS缓存108 2.7?HDFS完全分布式搭建115 2.8?HDFS高可用架构搭建116 2.8.1HDFS的基本架构116 2.8.2HDFS高可用架构116 2.8.3高可用架构搭建思路117 小结118 习题118 第3章 分布式并行计算MapReduce119 3.1?MapReduce介绍119 3.1.1MapReduce的概念119 3.1.2MapReduce适合及不适合的 应用场景120 3.1.3MapReduce的运行原理120 3.2?MapReduce快速入门124 3.2.1WordCount案例——需求 分析124 3.2.2WordCount案例——原理 与实现步骤124 3.3?MapReduce应用开发详解147 3.4?MapReduce的工作机制173 3.4.1MapReduce编程模型 ——内部逻辑173 3.4.2MapReduce编程模型 ——Split切分机制174 3.4.3MapReduce编程模型 ——Combiner178 3.4.4MapReduce编程模型 ——Partitioner180 3.4.5MapReduce编程模型 ——Shuffle186 小结188 习题188 第4章 Hadoop集群资源管理和数据 序列化189 4.1?YARN介绍189 4.1.1YARN的概念189 4.1.2YARN的应用场景189 4.2?YARN的运行机制190 4.2.1YARN的基本架构190 4.2.2YARN的组件191 4.2.3基于YARN运行一个简单 程序191 4.2.4MapReduce作业在YARN 上提交的流程192 4.2.5HistoryServer配置演示193 4.3?Avro介绍196 4.3.1Avro的概念196 4.3.2Avro与其他同类技术的 比较196 4.4?Avro应用196 4.4.1Avro RPC入门案例演示196 4.4.2Avro 模式演化案例演示209 4.4.3在MapReduce中使用Avro 案例演示213 小结220 习题220 第5章 Hadoop大数据仓库工具Hive221 5.1?Hive介绍221 5.1.1Hive的概念221 5.1.2Hive与关系型数据库的 差异222 5.1.3Hive组件总体框图222 5.1.4Hive的体系结构222 5.1.5Hive的应用223 5.2?Hive的安装配置223 5.2.1安装Hive223 5.2.2元数据库配置227 5.2.3关于Hive Web Interface241 5.2.4配置使用 HCatalog241 5.2.5配置hiveserver2和beeline243 5.3?Hive表的操作245 5.3.1Hive表的类型245 5.3.2Hive的数据类型245 5.3.3Hive基本建表语句246 5.3.4Hive表加载数据246 5.3.5Hive表的基本操作246 5.3.6Hive分区表262 5.3.7数据分桶266 5.4?Hive自定义函数269 5.4.1Hive函数269 5.4.2UDF开发步骤269 5.4.3UDF开发案例演示269 小结274 习题274 第6章 Hadoop大数据仓库工具Hive 深入275 6.1?Hive自定义函数275 6.1.1UDAF函数的编写275 6.1.2UDAF函数运行原理276 6.1.3UDAF函数案例演示276 6.1.4UDTF 函数的编写291 6.1.5UDTF函数案例演示291 6.2?Hive原理深入299 6.2.1Hive脚本运行原理299 6.2.2ORC存储格式306 6.2.3使用Java操作Hive308 6.3?数据仓库建模315 6.3.1数据仓库的特点315 6.3.2维度建模的基本概念 及其三种模式315 6.3.3数据仓库建模案例演示316 6.3.4缓慢渐变维度318 6.4?Hive的授权模型320 6.4.1基于存储的授权模型320 6.4.2基于存储的授权模型案例 演示320 6.4.3基于SQL标准的授权模型326 6.4.4基于SQL标准的授权模型 案例演示327 小结334 习题335 第7章 海量日志采集工具Flume337 7.1?Flume快速入门337 7.1.1Flume简介337 7.1.2Flume的安装说明及环境 变量设置337 7.1.3Flume的安装及配置案例 演示338 7.2?Flume基本组件345 7.2.1Flume Agent简介345 7.2.2Flume的事务机制和可靠性346 7.2.3Flume应用案例演示347 7.3?Flume经典架构351 7.3.1Channel选择器351 7.3.2Flume拦截器351 7.3.3Channel选择器和拦截器的 工作原理352 7.3.4Sink处理器352 7.3.5多级流动353 7.3.6多路复用354 7.3.7Flume选择器——路由模式 配置案例演示355 7.4?Flume日志收集实战360 7.4.1项目实战需求360 7.4.2基本架构361 7.4.3高可用架构——负载均衡 和多路复用361 7.4.4高可用架构——故障转移 和多级流动362 7.4.5Flume日志收集实战案例 演示363 小结374 习题374 第8章 Sqoop和Azkaban调度系统375 8.1?Sqoop的应用375 8.1.1Sqoop简介375 8.1.2Sqoop的安装演示376 8.1.3导入数据案例演示382 8.1.4导出数据案例演示394 8.2?Azkaban调度系统398 8.2.1Azkaban简介398 8.2.2Azkaban的特点及其架构399 8.2.3安装Azkaban 400 8.2.4生成密钥对和证书403 8.2.5修改配置文件406 8.2.6启动Azkaban服务器412 8.2.7单一job案例演示416 8.2.8邮件通知配置案例演示422 8.2.9多job工作流案例演示 427 8.2.10Azkaban操作任务演示430 小结439 习题439 第9章 Hive数据仓库项目实战440 9.1电商系统设计440 9.1.1电商系统中的表及业务模型440 9.1.2表详细设计441 9.1.3数据库初始化443 9.2?Hive数据仓库实现449 9.2.1数据仓库设计449 9.2.2ODS层设计450 9.2.3ODS层创建演示454 9.2.4DWD层设计461 9.2.5DWD层创建演示465 9.2.6DWS层设计472 9.2.7DWS层创建演示472 9.2.8ADS层设计478 9.2.9ADS层创建演示479 9.2.10Hive分析结果导出488 9.2.11拉链表492 9.2.12订单拉链表实现演示494 9.2.13Azkaban流程设计505 9.2.14Azkaban任务调度演示505 小结511 附录512 ?
智酷道捷是中关村智酷双创人才服务股份有限公司下属高科技教育企业。旨在打造“产、学、研、用”双创一 体化深度融合的智能化泛 IT 产教综合服务平台。是一家专注于面向 高校提供“产、学、研、用”一体化双创实践性教学解决方案,面向 高新技术职业技能持续培育的创新型科技教育企业。公司专注于前沿 技术——基于云计算、大数据、以及智能化控制等高新技术开发的全新资源与服务平台。公司借鉴发达国家先进的技术应用教学经验并结合中国国情,创新提出“双创双元、双元双通”理论模型,通过“工程实践中心”这一创新载体,整合高校教育与产业实践应用,基于云平台的大数据反馈和自适应机制,打造形成以产业应用需求为引领,以岗位技能能力图表为核心线索的智能化课程研发体系,将产业应用需求、高校教育过程以及课程研发机制、产教协同育人进行一体化联动和融合,实现双创实践性应用人才智能化、生态化、个性化、本地化培育,为地方企业和高校提供优质的实践性课程与人才服务。?
(1)重点突出,理论与实践结合,适合教学使用。 (2)内容结构完整,可循序渐进地教学。 (3)以图文并茂的方式展示了大数据应用程序的设计与实现过程。?