注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络家庭与办公软件Hadoop大数据技术应用实践

Hadoop大数据技术应用实践

Hadoop大数据技术应用实践

定 价:¥46.80

作 者: 李凤莲 著
出版社: 北京师范大学出版社
丛编项: 普通高等教育“十三五”规划教材•大数据技术应用实践系列
标 签: 暂缺

购买这本书可以去


ISBN: 9787303247219 出版时间: 2020-03-01 包装: 平装
开本: 16开 页数: 312 字数:  

内容简介

  本书系统阐述了Hadoop大数据技术应用实践的原理、方法和应用相关知识,同时给出了每一章内容对应的实现指令或源程序。全书共九章内容。内容由浅入深,分为基础篇及提高篇两部分,其中第1章到第4章为基础篇,内容涵盖Hadoop初识简介、Hadoop基础环境搭建、分布式存储HDFS介绍以及MapReduce编程模型等知识,提高篇包括Hadoop数据仓库Hive、Hadoop数据库Hbase、Pig语言、Hadoop项目案例以及Mahout项目案例等较深入的知识。本书理论结合实际,每一个章节都包含有相关内容的实践部分,以便读者在了解相关知识后,能及时进行项目的实践,有助于提高读者动手实践的能力。每章提供适量习题,进一步加深对内容的理解。

作者简介

  太原理工大学信息与计算机学院教师,博士,教授,硕士生导师。2012年以来,主持和参与山西省自然科学基金、博士后基金(面上资助)项目、山西省科技重大专项、山西省科技攻关计划项目以及校教改项目等多项;获批2017年教育部产学合作红亚科技协同育人项目1项;为2013年科技部重点领域创新团队核心成员; 2015年获山西省科技进步二等奖一项,2016年获煤炭工业协会三等奖一项。在Information Sciences等刊物发表SCI及EI收录学术论文30余篇;获批授权国家发明专利3项;申请国家发明专利9项,2016年以第一副主编参与编写“十二五”规划教材《数字语音处理及Matlab仿真》一部,2013年副主编参与编写部委级规划教材《电路分析基础》1部;2010年参编两本部委级规划教材,指导研究生14名。承担课程:《电路分析基础》、《可编程控制器原理》、《现代信号处理理论与方法》、《大数据技术与应用》

图书目录

目  录 IV
第1章  Hadoop初识简介 1
1.1  Hadoop介绍 1
1.1.1  Hadoop简述 1
1.1.2  Hadoop的特点 1
1.1.3  Hadoop的发展 3
1.2  Hadoop体系架构 3
1.2.1  HDFS结构 3
1.2.2  MapReduce结构 4
1.2.3  HBase结构 6
1.2.4  Hive结构 6
1.2.5  Mahout介绍 7
1.3  Hadoop软件安装及配置 8
1.3.1  编译安装与基础介绍 8
1.3.2  Linux环境下安装 12
1.3.3  安装配置环境变量 15
1.3.4  设置免密码登陆 16
1.3.5  配置时间同步 16
本章习题 21
第2章  Hadoop开源项目及伪分布式实现 23
2.1  Zookeeper简介 23
2.1.1  Zookeeper介绍 23
2.1.2  Zookeeper用途及特点 24
2.1.3  Zookeeper安装使用 25
2.2  单节点伪分布式安装 29
2.2.1  Hadoop配置文件说明 29
2.2.2  格式化HDFS文件系统 30
2.2.3  进程管理 30
本章习题 34
第3章  分布式存储HDFS 36
3.1  HDFS分布式文件系统安装 36
3.1.1  HDFS介绍 36
3.1.2  HDFS的安装过程 36
3.1.3  HDFS常用的一些简单的Shell命令 40
3.2  HDFS的相关概念 40
3.2.1  块及数据分片 40
3.2.1  名称节点NameNode和数据节点DataNode 41
3.2.3  第二个名称节点SecondaryNameNode 43
3.3  HDFS的文件存储机制 45
3.3.1  文件存储机制概述 45
3.3.2  HDFS的命名空间 45
3.3.3  客户端 46
3.3.4  通信协议 46
3.4  HDFS的数据存储管理 46
3.4.1  数据冗余存储 46
3.4.2  数据存取策略 46
3.4.3  数据错误与恢复 48
3.5  HDFS的数据读写过程 48
3.5.1  读取数据过程 48
3.5.2  写入数据过程 49
3.6  分布式及RPC通信简介 50
3.6.1  什么是RPC 50
3.6.2  如何实现一个RPC框架 50
3.6.3  Hadoop的RPC框架 50
3.6.4  实验过程 50
3.7  创建HDFS项目 55
3.7.1  Hadoop的Shell命令 55
3.7.2  利用Java API与HDFS进行人机交互 56
本章习题 63
第4章  MapReduce编程模型 65
4.1  MapReduce简介 65
4.1.1  MapReduce产生 65
4.1.2  MapReduce的数据类型 65
4.2  MapReduce架构 66
4.2.1  MapReduce的执行过程 66
4.2.2  Mapper过程 71
4.2.3  Reducer过程 71
4.2.4  Shuffle过程 71
4.3  MapReduce接口类 72
4.3.1  输入的处理类 72
4.3.2  输出的处理类 74
4.4  MapReduce编程模型实现 74
4.4.1  创建项目 74
4.4.2  编写MapReduce程序代码 75
4.4.3  本地运行测试 77
4.4.4  Jar打包 79
4.5  MapReduce典型案例-WordCount 79
4.5.1  WordCount任务目标 79
4.5.2  基于MapReduce的WordCount设计思路 80
4.5.3  任务执行 80
4.5.4  实例演示 81
4.6  分布式资源调度系统YARN的安装 83
4.6.1  YARN的概念 83
4.6.2  YARN的运行机制 84
4.6.3  YARN资源调度方式 84
4.6.4  YARN的安装配置 85
4.7  MapReduce和YARN命令 88
4.7.1  Hadoop的shell脚本 88
4.7.2  集群上运行介绍 90
4.7.3  实验过程 91
本章习题 94
第5章  Hadoop数据仓库Hive 97
5.1  Hive简介 97
5.1.1  Hive设计特点 97
5.1.2  Hive系统架构 98
5.1.3  Hive数据模型 98
5.1.4  Hive安装 99
5.2  Hive DDL 104
5.2.1  DDL基本格式 104
5.2.2  Hive数据类型 105
5.2.3  使用Hive创建数据库 106
5.3  Hive DML 113
5.3.1  数据操纵语言DML操作 113
5.3.2  类型 113
5.3.3  向Hive插入数据 114
5.3.4  Hive的其他语句 116
5.4  基于Hive的UDF V1.0 118
5.4.1  UDF的使用介绍 118
5.4.2  实验操作 120
5.5  Hive数据清洗项目 122
5.5.1  数据清洗介绍 122
5.5.2  用户关系模型介绍 124
5.5.3  挖掘用户的基本问题 124
5.5.4  Hive数据清洗项目使用 125
5.6  Hive统计UV项目 127
5.6.1  PV统计(页面访问量) 127
5.6.2  UV统计(独立访客) 128
5.6.3  Hive统计UV项目的使用 128
本章习题 131
第6章  Hadoop数据库HBase 133
6.1  HBase简介 133
6.2  HBase的shell应用v2.0 134
6.2.1  HBase体系架构 134
6.2.2  HBase逻辑视图 137
6.2.3  HBase的使用操作 138
6.3  使用Hive操作HBase 140
6.3.1  Hive整合HBase原理 140
6.3.2  操作使用 141
6.4  HBase的JavaAPI应用 142
6.4.1  创建连接 142
6.4.2  实验步骤 144
6.5  HBase学生选课案例 147
6.5.1  学生选课案例简介 147
6.5.2  学生选课案例讲解与操作 149
6.6  HBase微博案例 155
6.6.1  微博案例简介 155
6.6.2  微博案例讲解与操作 157
本章练习 164
第7章  Pig语言 166
7.1  Pig简介 166
7.1.1  认识Pig 166
7.1.2  Pig和MapReduce的区别 167
7.1.3  Pig的用途 168
7.1.4  Pig和Hive 168
7.2  Pig的安装与运行 169
7.2.1  Pig包的下载 169
7.2.2  Pig的安装 170
7.3  命令行交互工具Grunt 171
7.3.1  Grunt介绍 171
7.3.2  Grunt中输入Pig Latin脚本 171
7.3.3  Grunt中使用HDFS命令 171
7.3.4  Grunt中控制Pig 172
7.3.5  实验案例 172
7.4  Pig数据模型 175
7.4.1  数据类型 175
7.4.2  模式 177
7.4.3  数据模型的使用 178
7.5  Pig Latin基础知识 179
7.5.1  Pig Latin介绍 179
7.5.2  输入和输出 180
7.5.3  Pig Latin的使用 181
7.6  Pig Latin关系操作 182
7.6.1  Foreach数据转换 182
7.6.2  Filter过滤 182
7.6.3  Group分组 182
7.6.7  Order by排序 182
7.6.5  Distinct 183
7.6.6  Join 183
7.6.7  Limit 183
7.6.8  Sample 183
7.6.9  Parallel 183
7.6.10  运行Pig程序示例 183
7.7  Pig Latin高级应用 191
7.7.1  Group应用 191
7.7.2  Cross应用 192
7.7.3  Distinct应用 192
7.7.4  Filter应用 192
7.7.5  Foreach应用 192
7.7.6  复杂关系应用 192
7.7.7  在Pig中集成遗留代码和MapReduce程序 194
7.7.8  非线性数据流 194
7.7.9  执行过程控制 195
7.7.10  Pig Latin预处理器 195
7.7.11  运行Pig程序示例 195
本章练习 202
第8章  Hadoop项目案例 204
8.1  QQ好友推荐算法 204
8.1.1  实现思路 204
8.1.2  代码实现 204
8.2  PageRank算法 209
8.2.1  PageRank算法简介 209
8.2.2  PageRank原理介绍 210
8.2.3  PageRank简单计算 210
8.3  TF-IDF算法 213
8.3.1  TF-IDF简介 213
8.3.2  TF-IDF实现 214
8.3.3  TF-IDF应用 214
8.3.4  权重 214
8.4  数据关联案例 222
8.4.1  常用思路 223
8.4.2  编码思路 223
8.4.3  实验 223
8.5  ETL案例 224
8.5.1  数据ETL 225
8.5.2  实验 225
8.6  PV、UV统计案例 228
8.6.1  针对某一类网址的PV、UV 228
8.6.2  得到PV、UV的后续处理 229
8.6.3  实验 229
8.7  用户流失和新增分析案例 231
8.8  Hadoop总结 234
8.8.1  打包作业 234
8.8.2  启动作业 235
8.8.3  提交命令封装 236
本章习题 236
第9章  Mahout项目案例 239
9.1  Mahout环境配置 240
9.1.1  单机环境配置 240
9.1.2  基于Hadoop集群的Mahout环境配置 240
9.2  协同过滤推荐算法 243
9.2.1  Taste简介 243
9.2.2  基于用户的协同过滤算法 244
9.2.3  基于项目的协同过滤算法 247
9.2.4  基于ALS的矩阵分解算法 248
9.2.5  基于SVD的推荐算法 249
9.3  聚类算法 252
9.3.1  Canopy聚类 252
9.3.2  K-Means聚类 253
9.3.3  Fuzzy K-Means聚类算法 253
9.3.4  Streaming K-Means聚类 254
9.3.5  Spectral谱聚类算法类 255
9.4  分类算法 255
9.4.1  Logistic回归算法 256
9.4.2  朴素贝叶斯分类器 258
9.4.3  随机森林 258
9.4.4  隐马尔科夫模型 259
本章习题 260
参考文献 263
附录 265
一.  本书中出现的专业术语缩写英汉对照表 265
二.  习题参考答案 267
目  录 IV
第1章  Hadoop初识简介 1
1.1  Hadoop介绍 1
1.1.1  Hadoop简述 1
1.1.2  Hadoop的特点 1
1.1.3  Hadoop的发展 3
1.2  Hadoop体系架构 3
1.2.1  HDFS结构 3
1.2.2  MapReduce结构 4
1.2.3  HBase结构 6
1.2.4  Hive结构 6
1.2.5  Mahout介绍 7
1.3  Hadoop软件安装及配置 8
1.3.1  编译安装与基础介绍 8
1.3.2  Linux环境下安装 12
1.3.3  安装配置环境变量 15
1.3.4  设置免密码登陆 16
1.3.5  配置时间同步 16
本章习题 21
第2章  Hadoop开源项目及伪分布式实现 23
2.1  Zookeeper简介 23
2.1.1  Zookeeper介绍 23
2.1.2  Zookeeper用途及特点 24
2.1.3  Zookeeper安装使用 25
2.2  单节点伪分布式安装 29
2.2.1  Hadoop配置文件说明 29
2.2.2  格式化HDFS文件系统 30
2.2.3  进程管理 30
本章习题 34
第3章  分布式存储HDFS 36
3.1  HDFS分布式文件系统安装 36
3.1.1  HDFS介绍 36
3.1.2  HDFS的安装过程 36
3.1.3  HDFS常用的一些简单的Shell命令 40
3.2  HDFS的相关概念 40
3.2.1  块及数据分片 40
3.2.1  名称节点NameNode和数据节点DataNode 41
3.2.3  第二个名称节点SecondaryNameNode 43
3.3  HDFS的文件存储机制 45
3.3.1  文件存储机制概述 45
3.3.2  HDFS的命名空间 45
3.3.3  客户端 46
3.3.4  通信协议 46
3.4  HDFS的数据存储管理 46
3.4.1  数据冗余存储 46
3.4.2  数据存取策略 46
3.4.3  数据错误与恢复 48
3.5  HDFS的数据读写过程 48
3.5.1  读取数据过程 48
3.5.2  写入数据过程 49
3.6  分布式及RPC通信简介 50
3.6.1  什么是RPC 50
3.6.2  如何实现一个RPC框架 50
3.6.3  Hadoop的RPC框架 50
3.6.4  实验过程 50
3.7  创建HDFS项目 55
3.7.1  Hadoop的Shell命令 55
3.7.2  利用Java API与HDFS进行人机交互 56
本章习题 63
第4章  MapReduce编程模型 65
4.1  MapReduce简介 65
4.1.1  MapReduce产生 65
4.1.2  MapReduce的数据类型 65
4.2  MapReduce架构 66
4.2.1  MapReduce的执行过程 66
4.2.2  Mapper过程 71
4.2.3  Reducer过程 71
4.2.4  Shuffle过程 71
4.3  MapReduce接口类 72
4.3.1  输入的处理类 72
4.3.2  输出的处理类 74
4.4  MapReduce编程模型实现 74
4.4.1  创建项目 74
4.4.2  编写MapReduce程序代码 75
4.4.3  本地运行测试 77
4.4.4  Jar打包 79
4.5  MapReduce典型案例-WordCount 79
4.5.1  WordCount任务目标 79
4.5.2  基于MapReduce的WordCount设计思路 80
4.5.3  任务执行 80
4.5.4  实例演示 81
4.6  分布式资源调度系统YARN的安装 83
4.6.1  YARN的概念 83
4.6.2  YARN的运行机制 84
4.6.3  YARN资源调度方式 84
4.6.4  YARN的安装配置 85
4.7  MapReduce和YARN命令 88
4.7.1  Hadoop的shell脚本 88
4.7.2  集群上运行介绍 90
4.7.3  实验过程 91
本章习题 94
第5章  Hadoop数据仓库Hive 97
5.1  Hive简介 97
5.1.1  Hive设计特点 97
5.1.2  Hive系统架构 98
5.1.3  Hive数据模型 98
5.1.4  Hive安装 99
5.2  Hive DDL 104
5.2.1  DDL基本格式 104
5.2.2  Hive数据类型 105
5.2.3  使用Hive创建数据库 106
5.3  Hive DML 113
5.3.1  数据操纵语言DML操作 113
5.3.2  类型 113
5.3.3  向Hive插入数据 114
5.3.4  Hive的其他语句 116
5.4  基于Hive的UDF V1.0 118
5.4.1  UDF的使用介绍 118
5.4.2  实验操作 120
5.5  Hive数据清洗项目 122
5.5.1  数据清洗介绍 122
5.5.2  用户关系模型介绍 124
5.5.3  挖掘用户的基本问题 124
5.5.4  Hive数据清洗项目使用 125
5.6  Hive统计UV项目 127
5.6.1  PV统计(页面访问量) 127
5.6.2  UV统计(独立访客) 128
5.6.3  Hive统计UV项目的使用 128
本章习题 131
第6章  Hadoop数据库HBase 133
6.1  HBase简介 133
6.2  HBase的shell应用v2.0 134
6.2.1  HBase体系架构 134
6.2.2  HBase逻辑视图 137
6.2.3  HBase的使用操作 138
6.3  使用Hive操作HBase 140
6.3.1  Hive整合HBase原理 140
6.3.2  操作使用 141
6.4  HBase的JavaAPI应用 142
6.4.1  创建连接 142
6.4.2  实验步骤 144
6.5  HBase学生选课案例 147
6.5.1  学生选课案例简介 147
6.5.2  学生选课案例讲解与操作 149
6.6  HBase微博案例 155
6.6.1  微博案例简介 155
6.6.2  微博案例讲解与操作 157
本章练习 164
第7章  Pig语言 166
7.1  Pig简介 166
7.1.1  认识Pig 166
7.1.2  Pig和MapReduce的区别 167
7.1.3  Pig的用途 168
7.1.4  Pig和Hive 168
7.2  Pig的安装与运行 169
7.2.1  Pig包的下载 169
7.2.2  Pig的安装 170
7.3  命令行交互工具Grunt 171
7.3.1  Grunt介绍 171
7.3.2  Grunt中输入Pig Latin脚本 171
7.3.3  Grunt中使用HDFS命令 171
7.3.4  Grunt中控制Pig 172
7.3.5  实验案例 172
7.4  Pig数据模型 175
7.4.1  数据类型 175
7.4.2  模式 177
7.4.3  数据模型的使用 178
7.5  Pig Latin基础知识 179
7.5.1  Pig Latin介绍 179
7.5.2  输入和输出 180
7.5.3  Pig Latin的使用 181
7.6  Pig Latin关系操作 182
7.6.1  Foreach数据转换 182
7.6.2  Filter过滤 182
7.6.3  Group分组 182
7.6.7  Order by排序 182
7.6.5  Distinct 183
7.6.6  Join 183
7.6.7  Limit 183
7.6.8  Sample 183
7.6.9  Parallel 183
7.6.10  运行Pig程序示例 183
7.7  Pig Latin高级应用 191
7.7.1  Group应用 191
7.7.2  Cross应用 192
7.7.3  Distinct应用 192
7.7.4  Filter应用 192
7.7.5  Foreach应用 192
7.7.6  复杂关系应用 192
7.7.7  在Pig中集成遗留代码和MapReduce程序 194
7.7.8  非线性数据流 194
7.7.9  执行过程控制 195
7.7.10  Pig Latin预处理器 195
7.7.11  运行Pig程序示例 195
本章练习 202
第8章  Hadoop项目案例 204
8.1  QQ好友推荐算法 204
8.1.1  实现思路 204
8.1.2  代码实现 204
8.2  PageRank算法 209
8.2.1  PageRank算法简介 209
8.2.2  PageRank原理介绍 210
8.2.3  PageRank简单计算 210
8.3  TF-IDF算法 213
8.3.1  TF-IDF简介 213
8.3.2  TF-IDF实现 214
8.3.3  TF-IDF应用 214
8.3.4  权重 214
8.4  数据关联案例 222
8.4.1  常用思路 223
8.4.2  编码思路 223
8.4.3  实验 223
8.5  ETL案例 224
8.5.1  数据ETL 225
8.5.2  实验 225
8.6  PV、UV统计案例 228
8.6.1  针对某一类网址的PV、UV 228
8.6.2  得到PV、UV的后续处理 229
8.6.3  实验 229
8.7  用户流失和新增分析案例 231
8.8  Hadoop总结 234
8.8.1  打包作业 234
8.8.2  启动作业 235
8.8.3  提交命令封装 236
本章习题 236
第9章  Mahout项目案例 239
9.1  Mahout环境配置 240
9.1.1  单机环境配置 240
9.1.2  基于Hadoop集群的Mahout环境配置 240
9.2  协同过滤推荐算法 243
9.2.1  Taste简介 243
9.2.2  基于用户的协同过滤算法 244
9.2.3  基于项目的协同过滤算法 247
9.2.4  基于ALS的矩阵分解算法 248
9.2.5  基于SVD的推荐算法 249
9.3  聚类算法 252
9.3.1  Canopy聚类 252
9.3.2  K-Means聚类 253
9.3.3  Fuzzy K-Means聚类算法 253
9.3.4  Streaming K-Means聚类 254
9.3.5  Spectral谱聚类算法类 255
9.4  分类算法 255
9.4.1  Logistic回归算法 256
9.4.2  朴素贝叶斯分类器 258
9.4.3  随机森林 258
9.4.4  隐马尔科夫模型 259
本章习题 260
参考文献 263
附录 265
一.  本书中出现的专业术语缩写英汉对照表 265
二.  习题参考答案 267
 

本目录推荐