目 录
单元一 大数据概述 1
1.1大数据基本概念 2
1.1.1 大数据与生活 2
1.1.2 大数据的特征 4
1.1.3 大数据的发展史 4
1.1.4 云计算、大数据和人工智能 5
1.1.5 大数据平台--Hadoop 9
1.2 学习Hadoop的环境准备工作12
单元小结 24
单元自测 24
单元二 大数据**Linux知识 27
2.1 Linux目录结构 28
2.2 Linux运行级别 29
2.3 Linux常用命令 30
2.3.1 帮助命令 30
2.3.2 显示当前目录绝对路径命令32
2.3.3 列出目录命令 32
2.3.4 切换目录命令 33
2.3.5 创建目录命令 33
2.3.6 删除文件或目录命令 34
2.3.7 创建空文件 34
2.3.8 复制命令 35
2.3.9 移动/重命名命令 36
2.3.10 查看内容命令 36
2.3.11 分屏显示文件内容命令 37
2.3.12 输出重定向命令 37
2.3.13 输出内容到控制台命令 38
2.3.14 软链接命令 38
2.3.15 查看历史执行命令 39
2.3.16 显示当前时间命令 40
2.3.17 查看日历命令 40
2.3.18 tar文件解压命令 41
2.3.19 在指定的目录下查找命令41
2.3.20 全局查找命令 42
2.3.21 在文本中查找命令 42
2.4 Linux用户管理 43
2.4.1 添加用户命令 43
2.4.2 创建用户组命令 44
2.4.3 添加用户并指定所属组命令 44
2.4.4 修改用户所属组命令 44
2.4.5 删除用户命令 45
2.4.6 删除用户组命令 45
2.4.7 设置用户密码命令 45
2.4.8 查看用户信息命令 45
2.4.9 切换用户命令 46
2.4.10 查看登录用户信息命令 46
2.4.11 用户、用户组的相关文件 47
2.5 Linux组和权限管理 48
2.5.1 Linux中的权限 48
2.5.2 修改文件/目录的所有者命令 49
2.5.3 修改文件/目录的所属组命令 50
2.5.4 修改文件所有者和所属组命令 51
2.5.5 修改权限命令 52
2.6 Linux磁盘管理 53
2.6.1 查看系统整体磁盘情况命令 53
2.6.2 查看指定目录的磁盘占用情况命令 54
2.7 Linux网络 54
2.7.1 修改IP地址 55
2.7.2 修改主机名 55
2.8 Linux进程管理 56
2.8.1 显示系统执行的进程命令 56
2.8.2 显示子父进程的关系命令 57
2.8.3 终止进程命令 57
2.9 Linux服务管理 57
2.10 Linux RPM和YUM 59
2.10.1 RPM相关命令 59
2.10.2 YUM相关命令 60
2.11 Linux vim编辑器 61
2.11.1 vim的普通模式 61
2.11.2 vim的编辑模式 62
2.11.3 vim的命令模式 62
单元小结 63
单元自测 63
单元三 Hadoop伪分布式安装及其部署 67
3.1 前期知识准备 68
3.2 Linux环境配置 70
3.2.1 修改主机名和计算机名 70
3.2.2 配置静态IP地址 71
3.2.3 配置SSH无密码连接 74
3.2.4 远程连接配置 77
3.3 JDK配置 78
3.3.1 卸载Open JDK 78
3.3.2 下载Oracle JDK 79
3.3.3 安装Oracle JDK(root用户权限执行) 80
3.4 安装与部署Hadoop 81
3.4.1 安装CDH 82
3.4.2 修改hadoop-env.sh 83
3.4.3 修改core-site.xml 83
3.4.4 修改hdfs-site.xml 83
3.4.5 修改slaves文件 84
3.4.6 追加HADOOP_HOME到环境变量中 84
3.4.7 格式化HDFS 85
3.4.8 启动Hadoop并验证安装 85
3.4.9 安装验证 86
单元小结 87
单元自测 87
单元四 HDFS原理详解 89
4.1 HDFS概述以及设计目标 90
4.1.1 HDFS概述 90
4.1.2 HDFS设计理念 91
4.1.3 HDFS目标 92
4.1.4 HDFS缺点 93
4.2 HDFS架构 93
4.3 HDFS副本机制 97
4.3.1 数据复制 97
4.3.2 副本存放机制 98
4.4 HDFS读取文件和写入文件 99
4.4.1 通过HDFS读取文件 99
4.4.2 通过HDFS写入文件 100
4.5 HDFS的基本文件操作 105
4.5.1 -help [cmd] 105
4.5.2 -mkdir
106
4.5.3 -ls(r) 106
4.5.4 -put 106
4.5.5 -du(s) 108
4.5.6 -count[-q] 109
4.5.7 -mv 109
4.5.8 -cp 109
4.5.9 -rm(r) 110
4.5.10 -moveFromLocal/-moveToLocal 110
4.5.11 -get [-ignorecrc] 110
4.5.12 -cat 111
单元小结 111
单元自测 112
单元五 MapReduce计算框架详解 115
5.1 认识MapReduce 116
5.1.1 什么是MapReduce 116
5.1.2 MapReduce的特点 116
5.2 MapReduce编程思想 117
5.3 MapReduce执行流程 119
5.3.1 MapReduce流程分解 119
5.3.2 MapReduce详解 120
5.4 Java版中wordcount功能的实现 121
5.5 Combiner应用程序开发 128
5.5.1 MapReduce中Combiner的作用 128
5.5.2 Combiner的原理 128
5.5.3 代码实现 130
5.6 Partitioner应用程序开发 131
5.6.1 MapReduce中Partitioner的作用 131
5.6.2 代码实现 131
单元小结 134
单元自测 135
单元六 搭建Hadoop完全分布式环境 137
6.1 Hadoop的集群规划 138
6.2 前置安装 141
6.3 安装JDK 142
6.4 Hadoop集群的部署 143
6.5 作业提交到Hadoop集群上运行 145
单元小结 146
单元自测 146
单元七 资源调度框架(YARN) 与运用 149
7.1 YARN产生的背景 150
7.2 YARN架构 152
7.3 YARN的执行流程 154
7.4 YARN的环境搭建 155
7.5 提交作业到YARN上执行 157
单元小结 158
单元自测 158
单元八 Hive初识 161
8.1 认识Hive 162
8.2 Hive的安装和配置 163
8.2.1 安装MySQL 163
8.2.2 安装Hive 168
8.2.3 验证安装 170
8.3 Hive操作快速入门 171
单元小结 173
单元自测 173
单元九 电商用户行为分析项目实战 175
9.1 背景知识 176
9.2 项目基本介绍 179
9.2.1 用户日志分析 179
9.2.2 常用的电商术语 180
9.2.3 用户行为日志的意义 181
9.3 项目需求分析 182
9.3.1 需求分析 182
9.3.2 数据处理流程 183
9.4 实现项目功能 184
9.4.1 各省份浏览量统计功能实现 184
9.4.2 页面浏览统计功能实现 188
9.4.3 ETL的介绍和实现 192
9.4.4 功能升级 195
9.4.5 打包上传服务器运行 202
9.5 项目功能优化 206