关于本书的内容有任何问题,请联系 张斌
第1章 初识Hadoop大数据技术 1 1.1 大数据技术概述 1 1.1.1 大数据产生的背景 1 1.1.2 大数据的定义 2 1.1.3 大数据技术的发展 2 1.2 Google的“三驾马车” 3 1.2.1 GFS的思想 3 1.2.2 MapReduce的思想 4 1.2.3 BigTable的思想 6 1.3 Hadoop概述 8 1.3.1 Hadoop对Google公司三篇论文思想的实现 8 1.3.2 Hadoop的发展历史 9 1.3.3 Hadoop版本的演变 11 1.3.4 Hadoop的发行版本 12 1.3.5 Hadoop的特点 12 1.4 Hadoop生态圈 12 1.5 Hadoop的典型应用场景与应用架构 13 1.5.1 Hadoop的典型应用场景 13 1.5.2 Hadoop的典型应用架构 14 习题 15 第2章 Hadoop环境设置 16 2.1 安装前准备 16 2.1.1 安装虚拟机 17 2.1.2 安装Ubuntu操作系统 20 2.1.3 关闭防火墙 22 2.1.4 SSH安装 22 2.1.5 安装Xshell及Xftp 22 2.1.6 安装JDK 24 2.1.7 下载Hadoop并解压 25 2.1.8 克隆主机 27 2.2 Hadoop的安装 28 2.2.1 安装单机模式 28 2.2.2 安装伪分布式模式 29 2.2.3 安装完全分布式模式 35 习题 41 实验 搭建Hadoop伪分布式模式环境 42 第3章 HDFS 44 3.1 HDFS简介 44 3.2 HDFS的组成与架构 45 3.2.1 NameNode 45 3.2.2 DataNode 46 3.2.3 SecondaryNameNode 46 3.3 HDFS的工作机制 47 3.3.1 机架感知与副本冗余存储策略 47 3.3.2 文件读取 49 3.3.3 文件写入 50 3.3.4 数据容错 52 3.4 HDFS操作 53 3.4.1 通过Web界面进行HDFS操作 53 3.4.2 通过HDFS Shell进行HDFS操作 54 3.4.3 通过HDFS API进行HDFS操作 60 3.5 HDFS的高级功能 68 3.5.1 安全模式 68 3.5.2 回收站 69 3.5.3 快照 70 3.5.4 配额 71 3.5.5 高可用性 71 3.5.6 联邦 72 习题 74 实验1 通过Shell命令访问HDFS 74 实验2 熟悉基于IDEA+Maven的Java开发环境 77 实验3 通过API访问HDFS 86 第4章 YARN 90 4.1 YARN产生的背景 90 4.2 初识YARN 92 4.3 YARN的架构 93 4.3.1 YARN架构概述 93 4.3.2 YARN中应用运行的机制 94 4.3.3 YARN中任务进度的监控 94 4.3.4 MapReduce 1与YARN的组成对比 95 4.4 YARN的调度器 95 4.4.1 先进先出调度器 95 4.4.2 容器调度器 96 4.4.3 公平调度器 97 4.4.4 三种调度器的比较 98 习题 98 第5章 MapReduce 99 5.1 MapReduce概述 99 5.1.1 MapReduce是什么 99 5.1.2 MapReduce的特点 99 5.1.3 MapReduce不擅长的场景 100 5.2 MapReduce编程模型 100 5.2.1 MapReduce编程模型概述 100 5.2.2 MapReduce编程实例 101 5.3 MapReduce编程进阶 112 5.3.1 MapReduce的输入格式 112 5.3.2 MapReduce的输出格式 114 5.3.3 分区 115 5.3.4 合并 118 5.4 MapReduce的工作机制 119 5.4.1 MapReduce作业的运行机制 119 5.4.2 进度和状态的更新 120 5.4.3 Shuffle 121 5.5 MapReduce编程案例 122 5.5.1 排序 122 5.5.2 去重 126 5.5.3 多表查询 127 习题 129 实验1 分析和编写WordCount程序 130 实验2 MapReduce序列化、分区实验 131 实验3 使用MapReduce求出各年销售笔数、各年销售总额 134 实验4 使用MapReduce统计用户在搜狗上的搜索数据 136 第6章 HBase、Hive、Pig 139 6.1 HBase 139 6.1.1 行式存储与列式存储 139 6.1.2 HBase简介 140 6.1.3 HBase的数据模型 141 6.1.4 HBase的物理模型 143 6.1.5 HBase的系统架构 144 6.1.6 HBase的安装 147 6.1.7 访问HBase 152 6.2 Hive 157 6.2.1 安装Hive 157 6.2.2 Hive的架构与工作原理 160 6.2.3 Hive的数据类型与存储格式 163 6.2.4 Hive的数据模型 167 6.2.5 查询数据 169 6.2.6 用户定义函数 170 6.3 Pig 171 6.3.1 Pig概述 171 6.3.2 安装Pig 172 6.3.3 Pig Latin编程语言 172 6.3.4 Pig代码实例 177 6.3.5 用户自定义函数 179 习题 181 实验1 HBase实验——安装和配置(可选) 181 实验2 HBase实验——通过HBase Shell访问HBase(可选) 185 实验3 HBase实验——通过Java API访问HBase 187 实验4 HBase实验——通过Java API开发基于HBase的MapReduce程序 189 实验5 Hive实验——Metastore采用Local模式(MySQL数据库)搭建Hive环境(可选) 191 实验6 Hive实验——Hive常用操作 193 实验7 Pig实验——安装和使用Pig(可选) 194 实验8 Pig实验——使用Pig Latin操作员工表和部门表 195 第7章 Flume 198 7.1 Flume产生的背景 198 7.2 Flume简介 198 7.3 Flume的安装 199 7.4 Flume的架构 200 7.5 Flume的应用 201 7.5.1 Flume的组件类型及其配置项 201 7.5.2 Flume的配置和运行方法 206 7.5.3 Flume配置示例 207 7.6 Flume的工作方式 209 习题 210 实验1 Flume的配置与使用1——Avro Source + Memory Channel + Logger Sink 211 实验2 Flume的配置与使用2——Syslogtcp Source + Memory Channel + HDFS Sink 212 实验3 Flume的配置与使用3——Exec Source + Memory Channel + Logger Sink 213 第8章 Sqoop 214 8.1 Sqoop背景简介 214 8.2 Sqoop的基本原理 215 8.3 Sqoop的安装与部署 216 8.3.1 下载与安装 216 8.3.2 配置Sqoop 217 8.4 Sqoop应用 219 8.4.1 列出MySQL数据库的基本信息 219 8.4.2 MySQL和HDFS数据互导 219 8.4.3 MySQL和Hive数据互导 220 习题 221 实验 Sqoop常用功能的使用 222 第9章 ZooKeeper 227 9.1 ZooKeeper简介 227 9.2 ZooKeeper的安装 228 9.2.1 单机模式 228 9.2.2 集群模式 229 9.3 ZooKeeper的基本原理 231 9.3.1 Paxos算法 231 9.3.2 Zab算法 232 9.3.3 ZooKeeper的架构 232 9.3.4 ZooKeeper的数据模型 233 9.4 ZooKeeper的简单操作 235 9.4.1 通过ZooKeeper Shell命令操作ZooKeeper 235 9.4.2 通过ZooInspector工具操作ZooKeeper 238 9.4.3 通过Java API操作ZooKeeper 238 9.5 ZooKeeper的特性 239 9.5.1 会话 239 9.5.2 临时节点 240 9.5.3 顺序节点 240 9.5.4 事务操作 241 9.5.5 版本号 241 9.5.6 监视 242 9.6 ZooKeeper的应用场景 243 9.6.1 Master选举 244 9.6.2 分布式锁 245 习题 246 实验 ZooKeeper的3种访问方式 246 第10章 Ambari 249 10.1 Ambari简介 249 10.1.1 背景 249 10.1.2 Ambari的主要功能 250 10.2 Ambari的安装 250 10.2.1 安装前准备 250 10.2.2 安装Ambari 254 10.3 利用Ambari管理Hadoop集群 257 10.3.1 安装与配置HDP集群 258 10.3.2 节点的扩展 264 10.3.3 启用HA 267 10.4 Ambari的架构和工作原理 271 10.4.1 Ambari的总体架构 271 10.4.2 Ambari Agent 272 10.4.3 Ambari Server 272 习题 273 第11章 Mahout 274 11.1 Mahout简介 274 11.1.1 什么是Mahout 274 11.1.2 Mahout能做什么 275 11.2 Taste简介 276 11.2.1 DataModel 276 11.2.2 Similarity 277 11.2.3 UserNeighborhood 277 11.2.4 Recommender 277 11.2.5 RecommenderEvaluator 277 11.2.6 RecommenderIRStatsEvaluator 278 11.3 使用Taste构建推荐系统 278 11.3.1 创建Maven项目 278 11.3.2 导入Mahout依赖 278 11.3.3 获取电影评分数据 278 11.3.4 编写基于用户的推荐 279 11.3.5 编写基于物品的推荐 280 11.3.6 评价推荐模型 281 11.3.7 获取推荐的查准率和查全率 281 习题 282 实验 基于Mahout的电影推荐系统 283 综合实验 搜狗日志查询分析(MapReduce+Hive综合实验) 284 参考文献 287
本书是一本采用任务驱动式体例编写的ECharts数据可视化技术教材,以通俗易懂的语言和丰富实用的任务,帮助读者...
为了适应Web 3.0时代下区块链技术发展的新趋势,同时培养高素质的区块链技术人才,编者精选了区块链的相关内容...
本书循序渐进地介绍大数据全生命周期中涉及的大数据技术与应用。本书包括9章:第1章和第2章介绍大数据相关的基础理...
本书是一本全面介绍云计算基本概念、常用技术与应用的项目化教材。本书分为3篇,分别是初识云计算、体验云计算和业务...
本书共11章,从Hadoop概述开始,介绍Hadoop的安装、配置与管理,并对Hadoop的生态体系架构进行介...
我要评论