图书目录

目录

第1章Hadoop大数据处理架构1

1.1大数据的基本概念1

1.1.1大数据时代1

1.1.2大数据定义1

1.1.3大数据的特征2

1.1.4大数据思维2

1.2大数据计算模式与典型系统3

1.2.1批处理计算模式与典型系统3

1.2.2流式计算模式与典型系统4

1.2.3迭代计算模式与典型系统4

1.2.4图计算模式与典型系统4

1.2.5内存计算模式与典型系统5

1.3Hadoop发展历程5

1.4Hadoop优缺点6

1.5Hadoop生态圈6

1.6在VirtualBox上搭建Linux操作系统8

1.6.1创建Master节点9

1.6.2克隆虚拟电脑17

1.7Hadoop安装前的准备工作21

1.7.1创建hadoop用户22

1.7.2安装SSH、配置SSH无密码登录23

1.7.3安装Java环境23

1.7.4Linux操作系统下Scala版本的Eclipse的安装与配置… 24

1.7.5Eclipse环境下Java语言程序开发实例25

1.8Hadoop的安装与配置28

1.8.1下载Hadoop安装文件28

1.8.2Hadoop单机模式配置28

1.8.3Hadoop伪分布式模式配置30

1.8.4Hadoop分布式模式配置34

1.9习题43

第2章HDFS分布式文件系统44

2.1HDFS基本特征44

2.2HDFS存储架构及组件功能45

2.2.1HDFS存储架构45

2.2.2数据块45

2.2.3数据节点46

2.2.4名称节点46

2.2.5第二名称节点47

2.2.6心跳消息47

2.2.7客户端48

2.3HDFS读写文件流程48

2.3.1HDFS读文件流程48

2.3.2HDFS写文件流程49

2.4HDFS的Shell操作50

2.4.1查看命令使用方法50

2.4.2HDFS常用的Shell操作52

2.4.3HDFS管理员命令55

2.4.4HDFS的Java API操作57

2.5案例实战1: 修改文件名58

2.5.1在Eclipse中创建项目58

2.5.2为项目添加需要用到的JAR包58

2.5.3编写Java语言应用程序60

2.5.4编译运行程序62

2.5.5应用程序的部署63

2.6案例实战2: 文件读取、上传和下载65

2.6.1读取文件内容66

2.6.2文件上传和下载66

2.7习题67

第3章YARN资源管理68

3.1YARN概述68

3.2YARN基础架构68

3.2.1Container68

3.2.2ResourceManager69

3.2.3NodeManager69

3.2.4Application Master70

3.2.5Client70

3.3YARN常用命令70

3.3.1YARN启动与停止70

3.3.2用户命令71

3.3.3管理命令73

3.4习题74

第4章MapReduce分布式计算框架75

4.1MapReduce工作原理75

4.1.1MapReduce并行编程核心思想75

4.1.2Map函数和Reduce函数75

4.2MapReduce工作机制77

4.2.1Map任务工作机制78

4.2.2Reduce任务工作机制79

4.3MapReduce编程类80

4.3.1InputFormat数据输入格式类81

4.3.2Mapper类85

4.3.3Combiner合并类86

4.3.4Partitioner分区类87

4.3.5Sort排序类87

4.3.6Reducer归约类87

4.3.7OutputFormat输出格式类88

4.4MapReduce编程实现词频统计89

4.4.1WordCount执行流程89

4.4.2WordCount具体实现91

4.4.3使用Eclipse编译运行词频统计程序94

4.5习题100

第5章HBase分布式数据库101

5.1HBase概述101

5.1.1HBase的技术特点101

5.1.2HBase与传统关系数据库的区别101

5.1.3HBase与Hadoop中其他组件的关系102

5.2HBase系统架构和数据访问流程102

5.2.1HBase系统架构102

5.2.2HBase数据访问流程105

5.3HBase数据表107

5.3.1HBase数据表逻辑视图107

5.3.2HBase数据表物理视图109

5.3.3HBase数据表面向列的存储110

5.3.4HBase数据表的查询方式111

5.3.5HBase表结构设计111

5.4HBase的安装112

5.4.1下载安装文件112

5.4.2配置环境变量112

5.4.3添加用户权限113

5.4.4查看HBase版本信息113

5.5HBase的配置113

5.5.1单机模式配置114

5.5.2伪分布式模式配置115

5.6HBase的Shell操作117

5.6.1基本操作117

5.6.2创建表118

5.6.3插入与更新表中的数据119

5.6.4查看表中的数据120

5.6.5删除表中的数据122

5.6.6表的启用/禁用122

5.6.7修改表结构122

5.6.8删除HBase表123

5.7HBase的Java API操作123

5.7.1HBase数据库管理API123

5.7.2HBase数据库表API124

5.7.3HBase数据库表行列API126

5.8HBase案例实战127

5.8.1在Eclipse中创建工程127

5.8.2添加项目用到的JAR包128

5.8.3编写Java语言应用程序129

5.8.4编译运行程序132

5.9利用Python语言操作HBase133

5.9.1HappyBase的安装133

5.9.2Connection类133

5.9.3Table类134

5.10拓展阅读——HBase存储策略的启示134

5.11习题135

第6章流数据采集136

6.1流数据采集工具Flume136

6.1.1Flume概述136

6.1.2Flume组成架构136

6.1.3Flume安装139

6.1.4Flume简单使用141

6.2Kafka分布式发布订阅消息系统142

6.2.1Kafka基本架构142

6.2.2Kafka安装143

6.2.3Kafka测试实例144

6.3习题145

第7章典型非关系数据库的安装与使用146

7.1NoSQL数据库概述146

7.1.1NoSQL数据库兴起的原因146

7.1.2NoSQL数据库的特点147

7.2“键值”数据库147

7.2.1Redis安装147

7.2.2Redis数据库的特点149

7.2.3Redis数据库的基本数据类型149

7.3列族数据库154

7.4文档数据库154

7.4.1MongoDB简介154

7.4.2MongoDB下载与安装154

7.4.3MongoDB文档操作158

7.4.4MongoDB集合操作161

7.4.5MongoDB数据库操作162

7.4.6MongoDB数据类型163

7.5图数据库164

7.5.1下载和安装Neo4j164

7.5.2Neo4j的启动和停止165

7.5.3Neo4j的CQL操作167

7.5.4在Neo4j浏览器中创建节点和关系169

7.6习题170

第8章分布式数据分析工具Pig171

8.1Pig概述171

8.2Pig安装与配置171

8.2.1Pig安装171

8.2.2配置环境变量172

8.2.3Pig运行模式和工作方式172

8.3Pig Latin语言173

8.3.1Pig Latin语言基本概念173

8.3.2Pig Latin语言数据类型174

8.3.3Pig操作HDFS文件系统常用的命令175

8.3.4实用程序命令176

8.3.5Pig常用的数据分析命令177

8.4习题180

第9章Spark大数据处理框架181

9.1Spark概述181

9.1.1Spark的产生背景181

9.1.2Spark的优点182

9.1.3Spark的应用场景182

9.1.4Spark的生态系统182

9.2Spark运行机制184

9.2.1Spark基本概念184

9.2.2Spark运行架构186

9.3Spark的安装与配置186

9.3.1下载Spark安装文件187

9.3.2单机模式配置187

9.3.3伪分布式模式配置188

9.4使用PySpark编写Python语言代码190

9.5安装pip工具和常用的数据分析库191

9.6安装Anaconda和配置Jupyter Notebook192

9.6.1安装Anaconda192

9.6.2配置Jupyter Notebook193

9.6.3运行Jupyter Notebook194

9.6.4配置Jupyter Notebook实现和PySpark交互196

9.6.5为Anaconda安装扩展库197

9.7习题197

第10章基于Python语言的Spark RDD编程198

10.1RDD的创建方式198

10.1.1使用程序中的数据集创建RDD198

10.1.2使用文本文件创建RDD200

10.1.3使用JSON文件创建RDD201

10.1.4使用CSV文件创建RDD203

10.2RDD转换操作203

10.2.1映射操作203

10.2.2去重操作205

10.2.3排序操作206

10.2.4分组聚合操作208

10.2.5集合操作210

10.2.6抽样操作211

10.2.7连接操作方法211

10.2.8打包操作方法212

10.2.9获取键值对RDD的键和值集合212

10.2.10重新分区操作212

10.3RDD行动操作214

10.3.1统计操作215

10.3.2取数据操作216

10.3.3聚合操作217

10.3.4迭代操作217

10.3.5存储操作218

10.4RDD之间的依赖关系218

10.4.1窄依赖219

10.4.2宽依赖219

10.5RDD的持久化219

10.6案例实战: 利用Spark RDD实现词频统计221

10.7实验1: RDD编程实验222

10.8拓展阅读——中国女排精神223

10.9习题224

第11章基于Python语言的Spark SQL结构化数据处理225

11.1Spark SQL概述225

11.1.1Spark SQL简介225

11.1.2DataFrame与DataSet225

11.2创建DataFrame对象的方法226

11.2.1使用Parquet文件创建DataFrame对象226

11.2.2使用JSON文件创建DataFrame对象227

11.2.3使用SparkSession方式创建DataFrame对象228

11.3将DataFrame对象保存为不同格式的文件232

11.3.1通过write.xxx()方法保存DataFrame对象232

11.3.2通过write.format()方法保存DataFrame对象233

11.3.3将DataFrame对象转化成RDD保存到文件中233

11.4DataFrame的常用操作233

11.4.1行类操作233

11.4.2列类操作234

11.4.3DataFrame的常用属性236

11.4.4输出236

11.4.5筛选239

11.4.6排序241

11.4.7汇总与聚合243

11.4.8统计244

11.4.9合并245

11.4.10连接245

11.4.11to系列转换247

11.5读写MySQL数据库248

11.5.1安装并配置MySQL数据库248

11.5.2读取MySQL数据库中的数据250

11.5.3向MySQL数据库写入数据250

11.6实验2: Spark SQL编程实验251

11.7拓展阅读——中国芯片之路253

11.8习题254

第12章Hive分布式数据仓库255

12.1Hive分布式数据仓库概述255

12.2Hive的安装255

12.2.1下载Hive安装文件255

12.2.2配置Hive环境变量256

12.2.3修改Hive配置文件256

12.2.4安装并配置MySQL数据库257

12.3MySQL数据库常用操作259

12.3.1数据库基本语句259

12.3.2数据表基本语句261

12.4Hive的数据类型264

12.5Hive基本操作265

12.5.1数据库操作265

12.5.2创建表266

12.5.3创建带有分区的表267

12.5.4查看和修改表268

12.6习题269

第13章典型数据可视化工具的使用270

13.1WordCloud绘制词云图270

13.2PyeCharts数据可视化274

13.2.1绘制柱状图275

13.2.2绘制折线图277

13.2.3绘制饼图278

13.2.4绘制雷达图279

13.2.5绘制漏斗图280

13.2.6绘制3D柱状图280

13.2.7绘制词云图281

13.3Tableau绘图282

13.3.1Tableau的主要特性282

13.3.2Tableau工作表工作区283

13.3.3Tableau仪表板工作区288

13.3.4Tableau故事工作区289

13.3.5Tableau菜单栏290

13.3.6Tableau可视化与数据分析举例291

13.4习题293

参考文献294