-
内容大纲
温春水、毕洁馨编著的《从零开始学Hadoop大数据分析(视频教学版)》全面介绍了Hadoop大数据分析的基础知识、14个核心组件模块及4个项目实战案例。为了帮助读者高效、直观地学习,作者特意为本书录制了20小时同步配套教学视频。
本书共19章,分为3篇。第1篇Hadoop基础知识,涵盖大数据概述、Hadoop的安装与配置、Hadoop分布式文件系统及基于Hadoop 3的HDFS高可用等相关内容;第2篇Hadoop核心技术,涵盖的内容有Hadoop的分布式协调服务——ZooKeeper;分布式离线计算框架——MapReduce;Hadoop的集群资源管理系统——YARN;Hadoop的数据仓库框架——Hive;大数据快速读写——HBase;海量日志采集工具——Flume;Hadoop和关系型数据库问的数据传输工具——sqoop;分布式消息队列——Kafka;开源内存数据库——Redis;Ambari和CDH;快速且通用的集群计算系统——Spark。第3篇Hadoop项目案例实战,主要介绍了基于电商产品的大数据业务分析系统、用户画像分析、基于个性化的视频推荐系统及电信离网用户挽留4个项目实战案例,以提高读者的大数据项目开发水平。
本书内容全面,实用性强,适合作为Hadoop大数据分析与挖掘的入门读物,也可作为.Java程序员的进阶读物。另外,本书还特别适合想要提高大数据项目开发水平的人员阅读。对于专业的培训机构和相关院校而言,本书也是一本不可多得的教学用书。 -
作者介绍
-
目录
前言
第1篇 Hadoop基础知识
第1章 初识Hadoop
1.1 大数据初探
1.1.1 大数据技术
1.1.2 大数据技术框架
1.1.3 大数据的特点
1.1.4 大数据在各个行业中的应用
1.1.5 大数据计算模式
1.1.6 大数据与云计算、物联网的关系
1.2 Hadoop简介
1.2.1 Hadoop应用现状
1.2.2 Hadoop简介与意义
1.3 小结
第2章 Hadoop的安装与配置
2.1 虚拟机的创建
2.2 安装Linux系统
2.3 配置网络信息
2.4 克隆服务器
2.5 SSH免密码登录
2.6 安装和配置JDK
2.6.1 上传安装包
2.6.2 安装JDK
2.6.3 配置环境变量
2.7 Hadoop环境变量配置
2.7.1 解压缩Hadoop压缩包
2.7.2 配置Hadoop的bin和sbin文件夹到环境变量中
2.7.3 修改/etc/hadoop/hadoop-env.sh
2.8 Hadoop分布式安装
2.8.1 伪分布式安装
2.8.2 完全分布式安装
2.9 小结
第3章 Hadoop分布式文件系统
3.1 DFS介绍
3.1.1 什么是DFS
3.1.2 DFS的结构
3.2 HDFS介绍
3.2.1 HDFS的概念及体系结构
3.2.2 HDFS的设计
3.2.3 HDFS的优点和缺点
3.2.4 HDFS的执行原理
3.2.5 HDFS的核心概念
3.2.6 HDFS读文件流程
3.2.7 HDFS写文件流程
3.2.8 Block的副本放置策略
3.3 Hadoop中HDFS的常用命令
3.3.1 对文件的操作
3.3.2 管理与更新
3.4 HDFS的应用
3.4.1 基于Shell的操作
3.4.2 基于Java API的操作
3.4.3 创建文件夹
3.4.4 递归显示文件
3.4.5 文件上传
3.4.6 文件下载
3.5 小结
第4章 基于Hadoop 3的HDFS高可用
4.1 Hadoop 3.x的发展
4.1.1 Hadoop 3新特性
4.1.2 Hadoop 3 HDFS集群架构
4.2 Hadoop 3 HDFS完全分布式搭建
4.2.1 安装JDK
4.2.2 配置JDK环境变量
4.2.3 配置免密码登录
4.2.4 配置IP和主机名字映射关系
4.2.5 SSH免密码登录设置
4 .
4.3 什么是HDFS高可用
4.3.1 HDFS高可用实现原理
4.3.2 HDFS高可用实现
4.4 搭建HDFS高可用
4.4.1 配置ZooKeeper
4.4.2 配置Hadoop配置文件
4.4.3 将配置文件复制到其他节点上
4.4.4 启动JN节点
4.4.5 格式化
4.4.6 复制元数据到node2节点上
4.4.7 格式化ZKFC
4.4.8 启动集群
4.4.9 通过浏览器查看集群状态
4.4.10 高可用测试
4.5 小结
第2篇 Hadoop核心技术
第5章 Hadoop的分布式协调服务——ZooKeeper
5.1 ZooKeeper的核心概念
5.1.1 Session会话机制
5.1.2 数据节点、版本与Watcher的关联
5.1.3 ACL策略
5.2 ZooKeeper的安装与运行
5.3 ZooKeeper服务器端的常用命令
5.4 客户端连接ZooKeeper的相关操作
5.4.1 查看ZooKeeper常用命令
5.4.2 connect命令与ls命令
5.4.3 create命令——创建节点
5.4.4 get命令——获取数据与信息
5.4.5 set命令——修改节点内容
5.4.6 delete命令——删除节点
5.5 使用Java API访问ZooKeeper
5.5.1 环境准备与创建会话实例
5.5.2 节点创建实例
5.5.3 Java API访问ZooKeeper实例
5.6 小结
第6章 分布式离线计算框架——MapReduce
6.1 MapReduce概述
6.1.1 MapReduce的特点
6.1.2 MapReduce的应用场景
6.2 MapReduce执行过程
6.2.1 单词统计实例
6.2.2 MapReduce执行过程
6.2.3 MapReduce的文件切片Split
6.2.4 Map过程和Reduce过程
6.2.5 Shuffle过程
6.3 MapReduce实例
6.3.1 WordCount本地测试实例
6.3.2 ETL本地测试实例
6.4 温度排序实例
6.4.1 时间和温度的封装类MyKey.Java
6.4.2 Map任务MyMapper.java
6.4.3 数据分组类MyGroup.Java
6.4.4 温度排序类MySort.java
6.4.5 数据分区MyPartitioner.java
6.4.6 Reducer任务MyReducer.java
6.4.7 主函数RunJob.java
6.5 小结
第7章 Hadoop的集群资源管理系统——YARN
7.1 为什么要使用YARN
7.2 YARN的基本架构
7.2.1 ResourceManager进程
7.2.2 ApplicationMaster和NodeManager
7.3 YARN工作流程
7.4 YARN搭建
7.5 小结
第8章 Hadoop的数据仓库框架——Hive
8.1 Hive的理论基础
8.1.1 什么是Hive
8.1.2 Hive和数据库的异同
8.1.3 Hive设计的目的与应用
8.1.4 Hive的运行架构
8.1.5 Hive的执行流程
8.1.6 Hive服务
8.1.7 元数据存储Metastore
8.1.8 Embedded模式
8.1.9 Local模式
8.1.10 Remote模式
8.2 Hive的配置与安装
8.2.1 安装MySQL
8.2.2 配置Hive
8.3 Hive表的操作
8.3.1 创建Hive表
8.3.2 导入数据
8.4 表的分区与分桶
8.4.1 表的分区
8.4.2 表的分桶
8.5 内部表与外部表
8.5.1 内部表
8.5.2 外部表
8.6 内置函数与自定义函数
8.6.1 内置函数实例
8.6.2 自定义UDAF函数实例
8.7 通过Java访问Hive
8.8 Hive优化
8.8.1 MapReduce优化
8.8.2 配置优化
8.9 小结
第9章 大数据快速读写——HBase
9.1 关于NoSQL
9.1.1 什么是NoSQL
9.1.2 NoSQL数据库的分类
9.1.3 NoSQL数据库的应用
9.1.4 关系型数据库与非关系型数据库的区别
9.2 HBase基础
9.2.1 HBase简介
9.2.2 HBase数据模型
9.2.3 HBase体系架构及组件
9.2.4 HBase执行原理
9.3 HBase安装
9.4 HBase的Shell操作
9.5 Java API访问HBase实例
9.5.1 创建表
9.5.2 插入数据
9.5.3 查询数据
9.6 小结
第10章 海量日志采集工具——Flume
10.1 什么是Flume
10.2 Flume的特点
10.3 Flume架构
10.4 Flume的主要组件
10.4.1 Event、Client与Agent——数据传输
10.4.2 Source—Event接收
10.4.3 Channel—Event传输
10.4.4 Sink—Event发送
10.4.5 其他组件
10.5 Flume安装
10.6 Flume应用典型实例
10.6.1 本地数据读取(conf1)
10.6.2 收集至HDFS
10.6.3 基于日期分区的数据收集
10.7 通过exec命令实现数据收集
10.7.1 安装工具
10.7.2 编辑配置文件conf
10.7.3 运行Flume
10.7.4 查看生成的文件
10.7.5 查看HDFS中的数据
10.8 小结
第11章 Hadoop和关系型数据库间的数据传输工具——Sqoop
11.1 什么是Sqoop
11.2 Sqoop工作机制
11.3 Sqoop的安装与配置
11.3.1 下载Sqoop
11.3.2 Sqoop配置
11.4 Sqoop数据导入实例
11.4.1 向HDFS中导入数据
11.4.2 将数据导入Hive
11.4.3 向HDFS中导入查询结果
11.5 Sqoop数据导出实例
11.6 小结
第12章 分布式消息队列——Kafka
12.1 什么是Kafka
12.2 Kafka的架构和主要组件
12.2.1 消息记录的类别名——Topic
12.2.2 Producer与Consumer——数据的生产和消费
12.2.3 其他组件——Broker、Partition、Offset、Segment
12.3 Kafka的下载与集群安装
12.3.1 安装包的下载与解压
12.3.2 Kafka的安装配置
12.4 Kafka应用实例
12.4.1 Producer实例
12.4.2 Consumer实例
12.5 小结
第13章 开源的内存数据库——Redis
13.1 Redis简介
13.1.1 什么是Redis
13.1.2 Redis的特点
13.2 Redis安装与配置
13.3 客户端登录
13.3.1 密码为空登录
13.3.2 设置密码登录
13.4 Redis的数据类型
13.4.1 String类型
13.4.2 List类型
13.4.3 Hash类型
13.4.4 Set类型
13.5 小结
第14章 Ambari和CDH
14.1 Ambari的安装与集群管理
14.1.1 认识HDP与Ambari
14.1.2 Ambari的搭建
14.1.3 配置网卡与修改本机名
14.1.4 定义DNS服务器与修改hosts主机映射关系
14.1.5 关闭防火墙并安装JDK
14.1.6 升级OpenSSL安全套接层协议版本
14.1.7 关闭SELinux的强制访问控制
14.1.8 SSH免密码登录
14.1.9 同步NTP
14.1.10 关闭Linux的THP服务
14.1.11 配置UMASK与HTTP服务
14.1.12 安装本地源制作相关工具与Createrepo
14.1.13 禁止离线更新与制作本地源
14.1.14 安装Ambari-server与MySQL
14.1.15 安装Ambari
14.1.16 安装Agent与Ambari登录安装
14.1.17 安装部署问题解决方案
14.2 CDH的安装与集群管理
14.2.1 什么是CDH和Cloudera Manager介绍
14.2.2 Cloudera Manager与Ambari对比的优势
14.2.3 CDH安装和网卡配置
14.2.4 修改本机名与定义DNS服务器
14.2.5 修改hosts主机映射关系
14.2.6 关闭防火墙
14.2.7 安装JDK
14.2.8 升级OpenSSL安全套接层协议版本
14.2.9 禁用SELinux的强制访问功能
14.2.10 SSH 免密码登录
14.2.11 同步NTP安装
14.2.12 安装MySQL
14.2.13 安装Cloudera Manager
14.2.14 添加MySQL驱动包和修改Agent配置
14.2.15 初始化CM5数据库和创建cloudera-scm用户
14.2.16 准备Parcels
14.2.17 CDH的安装配置
14.3 小结
第15章 快速且通用的集群计算系统——Spark
15.1 Spark基础知识
15.1.1 Spark的特点
15.1.2 Spark和Hadoop的比较
15.2 弹性分布式数据集RDD
15.2.1 RDD的概念
15.2.2 RDD的创建方式
15.2.3 RDD的操作
15.2.4 RDD的执行过程
15.3 Spark作业运行机制
15.4 运行在YARN上的Spark
15.4.1 在YARN上运行Spark
15.4.2 Spark在YARN上的两种部署模式
15.5 Spark集群安装
15.5.1 Spark安装包的下载
15.5.2 Spark安装环境
15.5.3 Scala安装和配置
15.5.4 Spark分布式集群配置
15.6 Spark实例详解
15.6.1 网站用户浏览次数最多的URL统计
15.6.2 用户地域定位实例
15.7 小结
第3篇 Hadoop项目案例实战
第16章 基于电商产品的大数据业务分析系统实战
16.1 项目背景、实现目标和项目需求
16.2 功能与流程
16.2.1 用户信息
16.2.2 商品信息
16.2.3 购买记录
16.3 数据收集
16.3.1 Flume的配置文件
16.3.2 启动Flume
16.3.3 查看采集后的文件
16.3.4 通过后台命令查看文件
16.3.5 查看文件内容
16.3.6 上传user.list文件
16.3.7 上传brand.list目录
16.4 数据预处理
16.5 数据分析——创建外部表
16.6 建立模型
16.6.1 各年龄段用户消费总额
16.6.2 查询各品牌销售总额
16.6.3 查询各省份消费总额
16.6.4 使用Sqoop将数据导入MySQL数据库
16.7 数据可视化
16.8 小结
第17章 用户画像分析实战
17.1 项目背景
17.2 项目目标与项目开发过程
17.2.1 数据采集
17.2.2 数据预处理
17.2.3 模型构建
17.2.4 数据分析
17.3 核心代码解读
17.3.1 项目流程介绍
17.3.2 核心类的解读
17.3.3 core-site.xml配置文件
17.3.4 hdfs-site.xml配置文件
17.3.5 UserProfile.properties配置文件
17.3.6 LoadConfig.java:读取配置信息
17.3.7 ReadFile.java:读取文件
17.3.8 ReadFromHdfs.java:提取信息
17.3.9 UserProfile.java:创建用户画像
17.3.10 TextArrayWritable.java:字符串处理工具类
17.3.11 MapReduce任务1:UserProfileMapReduce.java
17.3.12 MapReduce任务2:UserProfileMapReduce2.java
17.3.13 UserProfilePutInHbaseMap.java:提取用户画像
17.3.14 UserProfilePutInHbaseReduce:存储用户画像
17.4 项目部署
17.5 小结
第18章 基于个性化的视频推荐系统实战
18.1 项目背景
18.2 项目目标与推荐系统简介
18.2.1 推荐系统的分类
18.2.2 推荐模型的构建流程
18.2.3 推荐系统核心算法
18.2.4 如何基于Mahout框架完成商品推荐
18.2.5 基于Mahout框架的商品推荐实例
18.3 推荐系统项目架构
18.4 推荐系统模型构建
18.5 核心代码
18.5.1 公共部分
18.5.2 离线部分
18.5.3 在线部分
18.6 小结
第19章 电信离网用户挽留实战
19.1 商业理解
19.2 数据理解
19.2.1 收集数据
19.2.2 了解数据
19.2.3 保证数据质量
19.3 数据整理
19.3.1 数据整合
19.3.2 数据过滤
19.4 数据清洗
19.4.1 噪声识别
19.4.2 离群值和极端值的定义
19.4.3 离群值处理方法
19.4.4 数据空值处理示例
19.5 数据转换
19.5.1 变量转换
19.5.2 压缩分类水平数
19.5.3 连续数据离散化
19.5.4 变换哑变量
19.5.5 数据标准化
19.5.6 数据压缩
19.6 建模
19.6.1 决策树算法概述
19.6.2 决策树的训练步骤
19.6.3 训练决策树
19.6.4 C4.5 算法
19.6.5 决策树剪枝
19.7 评估
19.7.1 混淆矩阵
19.7.2 ROC曲线
19.8 部署
19.9 用户离网案例代码详解
19.9.1 数据准备
19.9.2 相关性分析
19.9.3 最终建模
19.9.4 模型评估
19.10 小结
同类热销排行榜
- 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年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...