-
内容大纲
本书全面介绍了Hadoop这一高性能的海量数据处理和分析平台。全书共分11章:第1章首先让读者对大数据及Hadoop有一个总体的认识;第2章主要讲解如何搭建Hadoop集群;第3章~第5章讲解HDFS分布式文件系统、MapReduce分布式计算框架以及ZooKeeper分布式协调服务;第6章讲解Hadoop 2.0的新特性;第7章~第10章主要讲解Hadoop生态圈中的相关辅助系统,包括Hive、HBase分布式存储系统、Flume、Sqoop;第11章讲解了综合项目一一电商精准营销,该项目涵盖从前期设计到最终实施的整个过程,对全书知识点进行串联和巩固,使读者加深对Hadoop技术的理解。
本书避免一味地铺陈理论,以实战带动讲解,使读者快速掌握技术并能学以致用。本书可作为普通高等院校的教材及教学参考书,也可作为大数据方向的培训教材,还可作为Hadoop初学者及相关开发人员的参考书。 -
作者介绍
-
目录
第1章 初识Hadoop
1.1 大数据简介
1.1.1 大数据的五大特征
1.1.2 大数据的六大发展趋势
1.1.3 大数据在电商行业的应用
1.1.4 大数据在交通行业的应用
1.1.5 大数据在医疗行业的应用
1.2 大数据技术的核心需求
1.3 Hadoop简介
1.3.1 什么是Hadoop
1.3.2 Hadoop的产生和发展
1.3.3 Hadoop的优缺点
1.3.4 Hadoop版本介绍
1.3.5 Hadoop生态圈的相关组件
1.3.6 Hadoop应用介绍
1.3.7 国内Hadoop的就业情况分析
1.3.8 分布式系统概述
1.4 离线数据分析流程介绍
1.4.1 项目需求描述
1.4.2 数据来源
1.4.3 数据处理流程
1.4.4 项目最终效果
1.5 大数据学习流程
1.6 本章小结
1.7 习题
第2章 搭建Hadoop集群
2.1 安装准备
2.1.1 虚拟机安装
2.1.2 虚拟机克隆
2.1.3 Linux系统网络配置
2.1.4 SSH服务配置
2.2 Linux基本命令
2.2.1 系统工作命令
2.2.2 磁盘操作命令
2.2.3 目录与文件操作命令
2.2.4 权限操作命令
2.3 Hadoop集群搭建
2.3.1 Hadoop集群部署模式
2.3.2 安装JDK
2.3.3 安装Hadoop
2.3.4 Hadoop集群配置
2.4 Hadoop 集群测试
2.4.1 格式化文件系统
2.4.2 启动和关闭Hadoop进程命令
2.4.3 启动和查看Hadoop进程
2.4.4 查看Web界面
2.5 使用Hadoop集群
2.6 本章小结
2.7 习题
第3章 HDFS分布式文件系统
3.1 HDFS简介
3.1.1 HDFS的概念
3.1.2 HDFS数据的存储和读取方式
3.1.3 HDFS的特点
3.2 HDFS存储架构和数据读写流程
3.2.1 HDFS的存储架构
3.2.2 HDFS的数据读写流程
3.3 HDFS的Shell命令
3.4 Java程序操作HDFS
3.4.1 HDFS Java API概述
3.4.2 使用Java API操作HDFS
3.5 Hadoop序列化
3.5.1 Hadoop序列化简介
3.5.2 常用实现Writable接口的类
3.5.3 自定义实现Writable接口的类
3.6 Hadoop小文件处理
3.6.1 压缩小文件
3.6.2 创建序列文件
3.7 通信机制RPC
3.7.1 RPC简介
3.7.2 Hadoop的RPC架构
3.8 本章小结
3.9 习题
第4章 MapReduce分布式计算框架
4.1 认识MapReduce
4.1.1 MapReduce核心思想
4.1.2 MapReduce编程模型
4.1.3 MapReduce编程案例——WordCount
4.2 MapReduce编程组件
4.2.1 InputFormat组件
4.2.2 OutputFormat组件
4.2.3 RecordReader组件和RecordWriter组件
4.2.4 Partitioner组件
4.2.5 Combiner组件
4.3 MapReduce作业解析
4.3.1 MapReduce作业简介
4.3.2 MapReduce作业运行时的资源调度
4.3.3 MapReduce作业运行流程
4.4 MapReduce工作原理
4.4.1 Map任务工作原理
4.4.2 Reduce任务工作原理
4.5 Shuffle阶段
4.5.1 Shuffle的概念
4.5.2 Map端的Shuffle
4.5.3 Reduce端的Shuffle
4.6 优化——数据倾斜
4.7 MapReduce典型案例——排序
4.7.1 部分排序
4.7.2 全排序
4.8 MapReduce典型案例——倒排索引
4.8.1 准备模拟数据
4.8.2 输出数据解析
4.8.3 编写MapReduce程序
4.9 MapReduce典型案例——连接
4.9.1 准备模拟数据
4.9.2 输出数据解析
4.9.3 编写MapReduce程序
4.10 MapReduce典型案例——平均分以及百分比
4.10.1 准备模拟数据
4.10.2 输出数据解析
4.10.3 编写MapReduce程序
4.11 MapReduce典型案例——过滤敏感词汇
4.11.1 准备模拟数据
4.11.2 创建敏感词库
4.11.3 编写MapReduce程序
4.12 本章小结
4.13 习题
第5章 ZooKeeper分布式协调服务
5.1 认识ZooKeeper
5.1.1 ZooKeeper简介
5.1.2 ZooKeeper的设计目的
5.1.3 ZooKeeper的系统模型
5.1.4 ZooKeeper中的角色
5.1.5 ZooKeeper的工作原理
5.2 ZooKeeper安装和常用命令
5.2.1 ZooKeeper单机模式
5.2.2 ZooKeeper全分布式
5.2.3 ZooKeeper服务器常用脚本
5.2.4 ZooKeeper客户端节点和命令
5.3 ZooKeeper客户端编程
5.3.1 配置开发环境
5.3.2 Java程序操作ZooKeeper客户端
5.4 ZooKeeper典型应用场景
5.4.1 数据发布与订阅
5.4.2 命名服务
5.4.3 分布式锁
5.5 本章小结
5.6 习题
第6章 Hadoop 2.0新特性
6.1 Hadoop 2.0 的改进
6.1.1 HDFS存在的问题
6.1.2 MapReduce存在的问题
6.1.3 HDFS 2.0解决HDFS 1.0中的问题
6.2 YARN资源管理框架
6.2.1 YARN简介
6.2.2 YARN架构
6.2.3 YARN的优势
6.3 Hadoop的HA模式
6.3.1 HA模式简介
6.3.2 HDFS的HA模式
6.3.3 YARN的HA模式
6.3.4 启动和关闭Hadoop的HA模式
6.4 本章小结
6.5 习题
第7章 Hive
7.1 数据仓库简介
7.1.1 数据仓库概述
7.1.2 数据仓库的使用
7.1.3 数据仓库的特点
7.1.4 主流的数据仓库
7.2 认识Hive
7.2.1 Hive简介
7.2.2 Hive架构
7.2.3 Hive和关系型数据库比较
7.3 Hive安装
7.4 Hive数据类型
7.4.1 Hive基本数据类型
7.4.2 Hive复杂数据类型
7.5 Hive数据库操作
7.6 Hive表
7.6.1 内部表和外部表
7.6.2 对表进行分区
7.6.3 对表或分区进行桶操作
7.7 Hive表的查询
7.7.1 select查询语句
7.7.2 视图
7.7.3 Join
7.8 Hive函数
7.8.1 Hive内置函数
7.8.2 通过JDBC驱动程序使用Hiveserver2服务
7.8.3 Hive用户自定义函数
7.9 Hive性能优化
7.10 Hive案例分析
7.11 本章小结
7.12 习题
第8章 HBase分布式存储系统
8.1 认识HBase
8.1.1 HBase简介
8.1.2 HBase的数据模型
8.1.3 HBase架构
8.1.4 HBase文件存储格式
8.1.5 HBase存储流程
8.1.6 HBase和HDFS
8.2 HBase表设计
8.2.1 列簇设计
8.2.2 行键设计
8.3 HBase安装
8.3.1 HBase的单机模式
8.3.2 HBase的HA模式
8.4 HBase Shell常用操作
8.5 HBase编程
8.5.1 配置开发环境
8.5.2 使用Java API操作HBase
8.5.3 使用HBase实现WordCount
8.6 HBase过滤器和比较器
8.6.1 过滤器
8.6.2 比较器
8.6.3 编程实例
8.7 HBase与Hive结合
8.7.1 HBase与Hive结合的原因
8.7.2 Hive关联HBase
8.8 HBase性能优化
8.9 本章小结
8.10 习题
第9章 Flume
9.1 认识Flume
9.1.1 Flume简介
9.1.2 Flume的特点
9.2 Flume基本组件
9.2.1 Event
9.2.2 Agent
9.3 Flume安装
9.4 Flume数据流模型
9.5 Flume的可靠性保证
9.5.1 负载均衡
9.5.2 故障转移
9.6 Flume拦截器
9.7 采集案例
9.7.1 采集目录到HDFS
9.7.2 采集文件到HDFS
9.8 本章小结
9.9 习题
第10章 Sqoop
10.1 认识Sqoop
10.1.1 Sqoop简介
10.1.2 Sqoop原理
10.1.3 Sqoop架构
10.2 Sqoop安装
10.3 Sqoop命令
10.3.1 Sqoop数据库连接参数
10.3.2 Sqoop export参数
10.3.3 Sqoop import参数
10.3.4 Sqoop import命令的基本操作
10.4 Sqoop数据导入
10.4.1 将MySQL的数据导入HDFS
10.4.2 将MySQL的数据导入Hive
10.4.3 将MySQL的数据导入HBase
10.4.4 增量导入
10.4.5 按需导入
10.5 Sqoop数据导出
10.5.1 将HDFS的数据导出到MySQL
10.5.2 将Hive的数据导出到MySQL
10.5.3 将HBase的数据导出到MySQL
10.6 Sqoop job
10.7 本章小结
10.8 习题
第11章 综合项目——电商精准营销
11.1 项目概述
11.1.1 项目背景介绍
11.1.2 项目架构设计
11.2 项目详细介绍
11.2.1 项目核心关注点
11.2.2 重要概念
11.2.3 维度
11.3 项目模块分析
11.3.1 用户基本信息分析模块
11.3.2 浏览器分析模块
11.3.3 地域分析模块
11.3.4 外链分析模块
11.4 数据采集
11.4.1 日志采集系统概述
11.4.2 JS SDK收集数据
11.4.3 Java SDK收集数据
11.4.4 使用Flume搭建日志采集系统
11.4.5 日志信息说明
11.5 数据清洗
11.5.1 分析需要清洗的数据
11.5.2 解析数据格式转换
11.5.3 利用MapReduce清洗数据
11.6 使用数据仓库进行数据分析
11.6.1 事件板块数据分析
11.6.2 订单板块数据分析
11.6.3 时间板块数据分析
11.7 可视化
11.7.1 ECharts简介
11.7.2 ECharts的优点
11.7.3 操作流程
11.8 本章小结
11.9 习题
附录
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...