新書推薦:
《
中国摄影 中式摄影的独特魅力
》
售價:HK$
1097.6
《
山西寺观艺术彩塑精编卷
》
售價:HK$
1680.0
《
积极心理学
》
售價:HK$
55.8
《
自由,不是放纵
》
售價:HK$
54.9
《
甲骨文丛书·消逝的光明:欧洲国际史,1919—1933年(套装全2册)
》
售價:HK$
277.8
《
剑桥日本戏剧史(剑桥世界戏剧史译丛)
》
售價:HK$
201.6
《
中国高等艺术院校精品教材大系:材料的时尚表达??服装创意设计
》
售價:HK$
76.2
《
美丽与哀愁:第一次世界大战个人史
》
售價:HK$
143.4
|
編輯推薦: |
著名IT培训公司传智博客倾情奉献。
全面系统地讲解了Hadoop完整的技术体系:基础部署、集群管理、底层设计、项目实战。
提供了丰富的范例程序,降低了读者学习大数据技术的门槛。通过本书的学习,读者能够利用Hadoop及其生态系统中的一系列工具进行大数据分析。
提供了丰富的配套教学资源,包含精美PPT、教学设计、教学大纲、题库、教学视频等。
|
內容簡介: |
本书围绕Hadoop生态圈相关系统介绍大数据处理架构。全书共11章,其中,第1、2章主要带领大家认识Hadoop以及学会搭建Hadoop集群;第3~5章讲解分布式文件系统(HDFS)、分布式计算框架MapReduce以及分布式协调服务;第6章讲解Hadoop 2.0新特性,包含YARN和高可用特性;第7~10章主要讲解Hadoop生态圈的相关辅助系统,包括Hive、Flume、Azkaban和Sqoop;第11章是一个综合项目网站流量日志数据分析系统,目的是教会大家如何利用Hadoop生态圈技术构建大数据系统架构并进行开发,同时加深对Hadoop技术的理解。 本书附有配套视频、源代码、习题、教学设计、教学课件等资源。同时,为了帮助初学者更好地学习本书中的内容,还提供了在线答疑,欢迎读者关注。 本书可作为高等院校本、专科计算机相关专业,信息管理等相关专业的大数据课程教材,也可供相关技术人员参考,是一本适合广大计算机编程爱好者的优秀读物。
|
目錄:
|
目录
第1章初识Hadoop1
1.1大数据概述1
1.1.1什么是大数据1
1.1.2大数据的特征2
1.1.3研究大数据的意义3
1.2大数据的应用场景4
1.2.1医疗行业的应用4
1.2.2金融行业的应用4
1.2.3零售行业的应用5
1.3Hadoop概述6
1.3.1Hadoop的前世今生6
1.3.2Hadoop的优势7
1.3.3Hadoop的生态体系7
1.3.4Hadoop的版本9
1.4本章小结11
1.5课后习题11
第2章搭建Hadoop集群13
2.1安装准备13
2.1.1虚拟机安装13
2.1.2虚拟机克隆22
2.1.3Linux系统网络配置24
2.1.4SSH服务配置28
2.2Hadoop集群搭建31
2.2.1Hadoop集群部署模式31
2.2.2JDK安装32
2.2.3Hadoop安装33
2.2.4Hadoop集群配置35
2.3Hadoop集群测试38
2.3.1格式化文件系统38目录Hadoop大数据技术原理与应用2.3.2启动和关闭Hadoop集群39
2.3.3通过UI查看Hadoop运行状态41
2.4Hadoop集群初体验43
2.5本章小结46
2.6课后习题46
第3章HDFS分布式文件系统48
3.1HDFS的简介48
3.1.1HDFS的演变48
3.1.2HDFS的基本概念50
3.1.3HDFS的特点51
3.2HDFS的架构和原理52
3.2.1HDFS存储架构52
3.2.2HDFS文件读写原理53
3.3HDFS的Shell操作55
3.3.1HDFS Shell介绍55
3.3.2案例Shell定时采集数据到HDFS58
3.4HDFS的Java API操作62
3.4.1HDFS Java API介绍62
3.4.2案例使用Java API操作HDFS63
3.5本章小结68
3.6课后习题69
第4章MapReduce分布式计算框架70
4.1MapReduce概述70
4.1.1MapReduce核心思想70
4.1.2MapReduce编程模型71
4.1.3MapReduce编程实例词频统计72
4.2MapReduce工作原理73
4.2.1MapReduce工作过程73
4.2.2MapTask工作原理74
4.2.3ReduceTask工作原理75
4.2.4Shuffle工作原理76
4.3MapReduce编程组件77
4.3.1InputFormat组件77
4.3.2Mapper组件78
4.3.3Reducer组件78
4.3.4Partitioner组件80
4.3.5Combiner组件80
4.3.6OutputFormat组件81
4.4MapReduce运行模式82
4.5MapReduce性能优化策略84
4.6MapReduce经典案例倒排索引86
4.6.1案例分析86
4.6.2案例实现89
4.7MapReduce经典案例数据去重93
4.7.1案例分析93
4.7.2案例实现93
4.8MapReduce经典案例TopN96
4.8.1案例分析96
4.8.2案例实现97
4.9本章小结100
4.10课后习题100
第5章Zookeeper分布式协调服务102
5.1初识Zookeeper102
5.1.1Zookeeper简介102
5.1.2Zookeeper的特性103
5.1.3Zookeeper集群角色103
5.2数据模型104
5.2.1数据存储结构104
5.2.2Znode的类型105
5.2.3Znode的属性105
5.3Zookeeper的Watch机制106
5.3.1Watch机制的简介106
5.3.2Watch机制的特点106
5.3.3Watch机制的通知状态和事件类型107
5.4Zookeeper的选举机制107
5.4.1选举机制的简介107
5.4.2选举机制的类型108
5.5Zookeeper分布式集群部署109
5.5.1Zookeeper安装包的下载安装109
5.5.2Zookeeper相关配置109
5.5.3Zookeeper服务的启动和关闭112
5.6Zookeeper的Shell操作113
5.6.1Zookeeper Shell介绍113
5.6.2通过Shell命令操作Zookeeper113
5.7Zookeeper的Java API操作119
5.7.1Zookeeper Java API介绍119
5.7.2通过Java API操作Zookeeper120
5.8Zookeeper典型应用场景122
5.8.1数据发布与订阅122
5.8.2统一命名服务123
5.8.3分布式锁123
5.9本章小结123
5.10课后习题124
第6章Hadoop 2.0新特性125
6.1Hadoop 2.0改进与提升125
6.2YARN资源管理框架125
6.2.1YARN体系结构125
6.2.2YARN工作流程127
6.3HDFS的高可用128
6.3.1HDFS的高可用架构128
6.3.2搭建Hadoop高可用集群129
6.4本章小结134
6.5课后习题135
第7章Hive数据仓库136
7.1数据仓库简介136
7.1.1什么是数据仓库136
7.1.2数据仓库的结构137
7.1.3数据仓库的数据模型138
7.2Hive简介140
7.2.1什么是Hive140
7.2.2Hive系统架构141
7.2.3Hive工作原理141
7.2.4Hive数据模型142
7.3Hive的安装143
7.3.1Hive安装模式简介143
7.3.2嵌入模式144
7.3.3本地模式和远程模式145
7.4Hive的管理147
7.4.1CLI方式147
7.4.2远程服务148
7.5Hive内置数据类型150
7.6Hive数据模型操作151
7.6.1Hive数据库操作151
7.6.2Hive内部表操作153
7.6.3Hive外部表操作157
7.6.4Hive分区表操作158
7.6.5Hive桶表操作163
7.7Hive数据操作166
7.8本章小结170
7.9课后习题170
第8章Flume日志采集系统172
8.1Flume概述172
8.1.1Flume简介172
8.1.2Flume运行机制172
8.1.3Flume日志采集系统结构图173
8.2Flume基本使用175
8.2.1Flume系统要求175
8.2.2Flume安装配置175
8.2.3Flume入门使用177
8.3Flume采集方案配置说明181
8.3.1Flume Sources181
8.3.2Flume Channels184
8.3.3Flume Sinks186
8.4Flume的可靠性保证189
8.4.1负载均衡189
8.4.2故障转移195
8.5Flume拦截器196
8.6案例日志采集198
8.6.1案例分析198
8.6.2案例实现199
8.7本章小结204
8.8课后习题205
第9章工作流管理器(Azkaban)206
9.1工作流管理器概述206
9.1.1工作流调度系统背景206
9.1.2常用工作流管理器介绍206
9.2Azkaban概述207
9.2.1Azkaban特点208
9.2.2Azkaban组成结构208
9.2.3Azkaban部署模式209
9.3Azkaban部署210
9.3.1Azkaban资源准备210
9.3.2Azkaban安装配置212
9.3.3Azkaban启动测试220
9.4Azkaban使用224
9.4.1Azkaban工作流相关概念224
9.4.2案例演示依赖任务调度管理226
9.4.3案例演示MapReduce任务调度管理232
9.4.4案例演示HIVE脚本任务调度管理235
9.5本章小结237
9.6课后习题237
第10章Sqoop数据迁移239
10.1Sqoop概述239
10.1.1Sqoop简介239
10.1.2Sqoop原理240
10.2Sqoop安装配置241
10.3Sqoop指令介绍242
10.4Sqoop数据导入244
10.4.1MySQL表数据导入HDFS245
10.4.2增量导入247
10.4.3MySQL表数据导入Hive248
10.4.4MySQL表数据子集导入249
10.5Sqoop数据导出251
10.6本章小结253
10.7课后习题253
第11章综合项目网站流量日志数据分析系统255
11.1系统概述255
11.1.1系统背景介绍255
11.1.2系统架构设计255
11.1.3系统预览256
11.2模块开发数据采集257
11.2.1使用Flume搭建日志采集系统257
11.2.2日志信息说明258
11.3模块开发数据预处理258
11.3.1分析预处理的数据258
11.3.2实现数据的预处理259
11.4模块开发数据仓库开发268
11.4.1设计数据仓库268
11.4.2实现数据仓库269
11.5模块开发数据分析273
11.5.1流量分析273
11.5.2人均浏览量分析274
11.6模块开发数据导出275
11.7模块开发日志分析系统报表展示276
11.7.1搭建日志分析系统277
11.7.2实现报表展示功能285
11.7.3系统功能模块展示290
11.8本章小结290
|
內容試閱:
|
序言
江苏传智播客教育科技股份有限公司(简称传智播客)是一家致力于培养高素质软件开发人才的科技公司。黑马程序员是传智播客旗下的高端IT教育品牌。
黑马程序员的学员多为大学毕业后,想从事IT行业,但各方面条件还不成熟的年轻人。黑马程序员的学员筛选制度非常严格,包括严格的技术测试、自学能力测试,还包括性格测试、压力测试、品德测试等,以百里挑一的残酷筛选制度确保学员质量,降低企业的用人风险。
自黑马程序员成立以来,教学研发团队一直致力于打造精品课程资源,不断在产、学、研三个层面创新自己的执教理念与教学方针,并集中黑马程序员的优势力量,有针对性地出版了计算机系列教材60多种,制作教学视频数十套,发表各类技术文章数百篇。
黑马程序员不仅斥资研发IT系列教材,还为高校师生提供以下配套学习资源与服务。
为大学生提供的配套服务
1. 请登录在线平台http:yx.boxuegu.com,免费获取海量学习资源,还有专业的老师在线为您答疑解惑。
2. 针对高校学生在学习过程中存在的压力等问题,我们还面向大学生量身打造了IT技术女神播妞,可提供教材配套源代码和习题答案以及更多IT学习资源。同学们可以添加播妞微信号208695827和播妞QQ号3231342131,获取学习资源。
播妞微信
播妞QQ
为教师提供的配套服务
针对高校教学,黑马程序员为IT系列教材精心设计了教案 授课资源 考试系统 题库 教学辅助案例的系列教学资源。高校老师请登录在线平台http:yx.boxuegu.com或关注码大牛老师微信QQ2011168841,获取配套资源,也可以扫描下方二维码,加入专为IT教师打造的师资服务平台教学好助手,获取最新教师教学辅助资源的相关动态。
传智人
2018年5月Hadoop大数据技术原理与应用
我们生活在一个充满数据的时代,刷微信、聊QQ、网购、旅游、看病等一系列行为无时无刻不在产生新的数据,日积月累形成巨大的数据集,迎来了大数据时代。大数据时代的力量,正在积极地影响着人们生活的方方面面,深刻改变着人类的思维、生产、生活、学习方式,深刻展示了世界发展的前景。
大数据时代,数据的存储与挖掘至关重要。企业在追求高可靠性、高扩展性及高容错性的大数据处理平台的同时还希望能够降低成本,而Hadoop为实现这些需求提供了解决方案。这里列举3条使用Hadoop作为大数据业务的基础原因,具体如下。
(1) Hadoop底层的分布式文件系统具有高拓展性,通过数据冗余保证数据不丢失和提升计算效率,同时可以存储各种格式的数据。它还有多种计算框架,既可以进行离线计算也可以进行在线实时计算。
(2) Hadoop是架构在廉价的硬件服务器上,且产品是开源的,供开发者免费使用,开发成本和维护成本都降低很多。
(3) Hadoop具有成熟的生态圈,有许多辅助系统对数据进行处理。
本书作为大数据技术Hadoop的入门教程,最重要又最难的一件事情就是将一些复杂、难以理解的思想和问题简单化,让初学者能够轻松理解并快速掌握。本教材对每个知识点都进行了深入分析,并针对每个知识点精心设计了相关案例,然后模拟这些知识点在实际工作中的运用,真正做到了知识的讲解由浅入深、由易到难。
全书共分为11章。
第1章主要讲解什么是大数据以及Hadoop相关概念。通过本章的学习,读者可对大数据有简单的认识,并了解Hadoop生态圈工具及各自的用途。
第2章主要讲解Hadoop集群的构建。通过本章的学习,读者能掌握Linux系统网络配置、独立搭建Hadoop开发平台,以及简单操作Hadoop系统。
第3章主要讲解Hadoop分布式文件系统HDFS。通过本章的学习,读者可以掌握HDFS的架构和工作原理,并能够通过Shell接口和Java API操作HDFS。
第4章主要讲解MapReduce的相关知识。通过本章的学习,初学者可以了解MapReduce计算框架的思想并且能够使用MapReduce解决实际问题。
第5章主要讲解Zookeeper分布式协调服务。通过本章的学习,读者能够对Zookeeper分布式协调服务有基本的认识,掌握Zookeeper内部运行原理,并会通过Shell和Java API操作Zookeeper。
第6章主要讲解Hadoop 2.0的新特性,包括YARN资源管理框架和HDFS的高可用。其中,YARN作为资源管理框架,读者需要明白它的体系结构和工作流程;HDFS的高可用性能够解决集群的单点故障问题,读者要掌握高可用架构的部署方式,并能独立参考文档搭建高可用的Hadoop集群。
第7章主要讲解Hive的相关知识。读者需要了解Hive架构、数据模型、Hive的安装和管理以及Hive的数据操作。这里建议初学者在学习Hive时多动手操作Hive,通过丰富的案例练习,掌握Hive的使用。
第8章主要讲解Flume日志采集系统的基本知识。通过本章的学习,读者应该掌握Flume的基本概念、运行机制并且能够掌握Flume的安装配置和基本使用。
第9章主要讲解Azkaban工作流管理器的基本知识。通过本章的学习,读者应该对Azkaban有一定的了解,掌握Azkaban的部署和使用,并能够使用Azkaban进行任务调度管理。
第10章主要讲解Sqoop数据迁移工具的相关知识。通过本章的学习,读者可以掌握Sqoop工作原理,会独立搭建Sqoop工具并且能够使用Sqoop工具完成常用的数据迁移操作。
第11章主要通过开发网站流量日志分析系统来讲解利用Hadoop生态体系的技术解决实际问题。通过本章的学习,读者可以了解大数据系统的架构、数据采集、数据预处理、数据仓库的设计、数据分析、数据导出以及最后可视化处理。读者应该熟练掌握系统架构以及业务流程,熟练使用Hadoop生态体系相关技术。
致谢
本书的编写和整理工作由传智播客教育科技股份有限公司完成,主要参与人员有吕春林、高美云、石荣新、翟振方、文燕等,全体参编人员在这近一年的编写过程中付出了许多辛勤的汗水,在此表示衷心的感谢。
意见反馈
尽管我们尽了最大的努力,但书中难免会有欠妥之处,欢迎各界专家和读者朋友们来信提出宝贵意见,我们将不胜感激。您在阅读本书时,如果发现任何问题或有不认同之处可以通过电子邮件与我们取得联系。
请发送电子邮件至itcast_book@vip.sina.com。
黑马程序员
2019年3月于北京 前言Hadoop大数据技术原理与应用
|
|