图书目录

目    录

第1章  大数据与Hadoop 1

1.1  什么是大数据 1

1.2  大数据的来源 2

1.3  如何处理大数据 3

1.3.1  数据分析与挖掘 3

1.3.2  基于云平台的分布式处理 4

1.4  Hadoop 3新特性 6

1.5  虚拟机与Linux操作系统的安装 7

1.5.1  VirtualBox虚拟机的安装 7

1.5.2  Linux操作系统的安装 8

1.6  SSH工具与使用 14

1.7  Linux统一设置 16

1.8  本章小结 17

第2章  Hadoop伪分布式集群 18

2.1  安装独立运行的Hadoop 19

2.2  Hadoop伪分布式环境准备 21

2.3  Hadoop伪分布式安装 25

2.4  HDFS操作命令 31

2.5  Java项目访问HDFS 33

2.6  winutils 38

2.7  快速MapReduce程序示例 39

2.8  本章小结 42

第3章  HDFS分布式文件系统 43

3.1  HDFS的体系结构 43

3.2  NameNode的工作 44

3.3  SecondaryNameNode 49

3.4  DataNode 50

3.5  HDFS的命令 51

3.6  RPC远程过程调用 52

3.7  本章小结 53

第4章  分布式运算框架MapReduce 55

4.1  MapReduce的运算过程 55

4.2  WordCount示例 57

4.3  自定义Writable 60

4.4  Partitioner分区编程 63

4.5  自定义排序 65

4.6  Combiner编程 67

4.7  默认Mapper和默认Reducer 68

4.8  倒排索引 69

4.9  Shuffle 73

4.9.1  Spill过程 73

4.9.2  Sort过程 74

4.9.3  Merge过程 75

4.10  本章小结 76

第5章  Hadoop输入输出 78

5.1  自定义文件输入流 79

5.1.1  自定义LineTextInputFormat 79

5.1.2  自定义ExcelInputFormat类 82

5.1.3  DBInputFormat 86

5.1.4  自定义输出流 89

5.2  顺序文件SequenceFile的读写 90

5.2.1  生成一个顺序文件 91

5.2.2  读取顺序文件 91

5.2.3  获取Key/Value类型 92

5.2.4  使用SequenceFileInputFormat读取数据 93

5.3  本章小结 95

第6章  Hadoop分布式集群配置 96

6.1  Hadoop集群 96

6.2  本章小结 100

第7章  Hadoop高可用集群搭建 101

7.1  ZooKeeper简介 101

7.2  ZooKeeper集群安装 104

7.3  znode节点类型 105

7.4  观察节点 106

7.5  配置Hadoop高可靠集群 106

7.6  用Java代码操作集群 115

7.7  本章小结 117

第8章  数据仓库Hive 118

8.1  Hive简介 118

8.2  Hive3的安装配置 120

8.2.1  使用Derby数据库保存元数据 120

8.2.2  使用MySQL数据库保存元数据 121

8.3  Hive命令 124

8.4  Hive内部表 127

8.5  Hive外部表 128

8.6  Hive表分区 128

8.6.1  分区的技术细节 128

8.6.2  分区示例 131

8.7  查询示例汇总 133

8.8  Hive函数 134

8.8.1  关系运算符号 135

8.8.2  更多函数 136

8.8.3  使用Hive函数实现WordCount 138

8.9  本章小结 140

第9章  HBase数据库 141

9.1  HBase的特点 141

9.1.1  HBase的高并发和实时处理数据 142

9.1.2  HBase的数据模型 142

9.2  HBase的安装 144

9.2.1  HBase的单节点安装 145

9.2.2  HBase的伪分布式安装 147

9.2.3  Java客户端代码 149

9.2.4  其他Java操作代码 152

9.3  HBase集群安装 155

9.4  HBase Shell操作 159

9.4.1  DDL操作 160

9.4.2  DML操作 162

9.5  本章小结 166

第10章  Flume数据采集 167

10.1  Flume简介 167

10.1.1  Flume原理 167

10.1.2  Flume的一些核心概念 168

10.2  Flume的安装与配置 169

10.3  快速示例 169

10.4  在ZooKeeper中保存Flume的配置文件 171

10.5  Flume的更多Source 174

10.5.1  avro source 174

10.5.2  thrift source和thrift sink 178

10.5.3  exec source 181

10.5.4  spool source 182

10.5.5  HDFS sinks 183

10.6  本章小结 184

第11章  Spark框架搭建及应用 185

11.1  安装Spark 186

11.1.1  本地模式 186

11.1.2  伪分布式安装 188

11.1.3  集群安装 191

11.1.4  Spark on YARN 193

11.2  使用Scala开发Spark应用 196

11.2.1  安装Scala 196

11.2.2  开发Spark程序 197

11.3  spark-submit 200

11.3.1  使用spark-submit提交 200

11.3.2  spark-submit参数说明 201

11.4  DataFrame 203

11.4.1  DataFrame概述 203

11.4.2  DataFrame基础应用 205

11.5  Spark SQL 210

11.5.1  快速示例 211

11.5.2  Read和Write 215

11.6  Spark Streaming 216

11.6.1  快速示例 217

11.6.2  DStream 220

11.6.3  FileStream 220

11.6.4  窗口函数 222

11.6.5  updateStateByKey 223

11.7  共享变量 225

11.7.1  广播变量 225

11.7.2  累加器 227

11.8  本章小结 227

第12章  Spark机器学习 228

12.1  机器学习 228

12.1.1  机器学习概述 228

12.1.2  Spark ML 230

12.2  典型机器学习流程介绍 230

12.2.1  提出问题 230

12.2.2  假设函数 231

12.2.3  代价函数 232

12.2.4  训练模型确定参数 233

12.3  经典算法模型实战 233

12.3.1  聚类算法实战 233

12.3.2  回归算法实战 236

12.3.3  协同过滤算法实战 239

第13章  影评分析项目实战 245

13.1  项目内容 245

13.2  项目需求及分析 246

13.3  详细实现 250

13.3.1  搭建项目环境 250

13.3.2  编写爬虫类 253

13.3.3  编写分词类 255

13.3.4  第一个job的Map阶段实现 259

13.3.5  一个job的Reduce阶段实现 259

13.3.6  第二个job的Map阶段实现 260

13.3.7  第二个job的自定义排序类阶段的实现 261

13.3.8  第二个job的自定义分区阶段实现 261

13.3.9  第二个job的Reduce阶段实现 262

13.3.10  Run程序主类实现 262

13.3.11  编写词云类 263

13.3.12  效果测试 264

第14章  旅游酒店评价分析项目实战 266

14.1  项目介绍 266

14.2  项目需求及分析 267

14.2.1  数据集需求 267

14.2.2  功能需求 267

14.3  详细实现 268

14.3.1  数据集上传到HDFS 269

14.3.2  Spark数据清洗 271

14.3.3  构建Hive数据仓库表 274

14.3.4  Hive表数据导出到MySQL 280

14.3.5  数据可视化开发 282