关于本书的内容有任何问题,请联系 李召
第1章 初识Hadoop 1 1.1 大数据简介 1 1.1.1 大数据的五大特征 1 1.1.2 大数据的六大发展趋势 3 1.1.3 大数据在电商行业的应用 4 1.1.4 大数据在交通行业的应用 5 1.1.5 大数据在医疗行业的应用 5 1.2 大数据技术的核心需求 5 1.3 Hadoop简介 6 1.3.1 什么是Hadoop 6 1.3.2 Hadoop的产生和发展 6 1.3.3 Hadoop的优缺点 7 1.3.4 Hadoop版本介绍 7 1.3.5 Hadoop生态圈的相关组件 7 1.3.6 Hadoop应用介绍 8 1.3.7 国内Hadoop的就业情况分析 9 1.3.8 分布式系统概述 10 1.4 离线数据分析流程介绍 10 1.4.1 项目需求描述 11 1.4.2 数据来源 11 1.4.3 数据处理流程 11 1.4.4 项目最终效果 12 1.5 大数据学习流程 12 1.6 本章小结 13 1.7 习题 14 第2章 搭建Hadoop集群 15 2.1 安装准备 15 2.1.1 虚拟机安装 15 2.1.2 虚拟机克隆 21 2.1.3 Linux系统网络配置 23 2.1.4 SSH服务配置 26 2.2 Linux基本命令 28 2.2.1 系统工作命令 29 2.2.2 磁盘操作命令 30 2.2.3 目录与文件操作命令 30 2.2.4 权限操作命令 31 2.3 Hadoop集群搭建 32 2.3.1 Hadoop集群部署模式 32 2.3.2 安装JDK 32 2.3.3 安装Hadoop 33 2.3.4 Hadoop集群配置 34 2.4 Hadoop 集群测试 37 2.4.1 格式化文件系统 37 2.4.2 启动和关闭Hadoop进程命令 37 2.4.3 启动和查看Hadoop进程 38 2.4.4 查看Web界面 38 2.5 使用Hadoop集群 39 2.6 本章小结 40 2.7 习题 40 第3章 HDFS分布式文件系统 41 3.1 HDFS简介 41 3.1.1 HDFS的概念 41 3.1.2 HDFS数据的存储和读取方式 42 3.1.3 HDFS的特点 42 3.2 HDFS存储架构和数据读写流程 43 3.2.1 HDFS的存储架构 43 3.2.2 HDFS的数据读写流程 44 3.3 HDFS的Shell命令 46 3.4 Java程序操作HDFS 47 3.4.1 HDFS Java API概述 47 3.4.2 使用Java API操作HDFS 47 3.5 Hadoop序列化 55 3.5.1 Hadoop序列化简介 55 3.5.2 常用实现Writable接口的类 56 3.5.3 自定义实现Writable接口的类 58 3.6 Hadoop小文件处理 59 3.6.1 压缩小文件 59 3.6.2 创建序列文件 60 3.7 通信机制RPC 63 3.7.1 RPC简介 63 3.7.2 Hadoop的RPC架构 63 3.8 本章小结 64 3.9 习题 64 第4章 MapReduce分布式计算框架 65 4.1 认识MapReduce 65 4.1.1 MapReduce核心思想 65 4.1.2 MapReduce编程模型 65 4.1.3 MapReduce编程案例——WordCount 67 4.2 MapReduce编程组件 72 4.2.1 InputFormat组件 72 4.2.2 OutputFormat组件 73 4.2.3 RecordReader组件和 RecordWriter组件 76 4.2.4 Partitioner组件 76 4.2.5 Combiner组件 78 4.3 MapReduce作业解析 82 4.3.1 MapReduce作业简介 82 4.3.2 MapReduce作业运行时的资源调度 82 4.3.3 MapReduce作业运行流程 83 4.4 MapReduce工作原理 83 4.4.1 Map任务工作原理 83 4.4.2 Reduce任务工作原理 83 4.5 Shuffle阶段 83 4.5.1 Shuffle的概念 83 4.5.2 Map端的Shuffle 84 4.5.3 Reduce端的Shuffle 85 4.6 优化——数据倾斜 85 4.7 MapReduce典型案例——排序 86 4.7.1 部分排序 86 4.7.2 全排序 87 4.8 MapReduce典型案例——倒排索引 91 4.8.1 准备模拟数据 91 4.8.2 输出数据解析 92 4.8.3 编写MapReduce程序 92 4.9 MapReduce典型案例——连接 94 4.9.1 准备模拟数据 94 4.9.2 输出数据解析 94 4.9.3 编写MapReduce程序 94 4.10 MapReduce典型案例——平均分以及百分比 97 4.10.1 准备模拟数据 97 4.10.2 输出数据解析 97 4.10.3 编写MapReduce程序 97 4.11 MapReduce典型案例——过滤敏感词汇 100 4.11.1 准备模拟数据 100 4.11.2 创建敏感词库 101 4.11.3 编写MapReduce程序 101 4.12 本章小结 103 4.13 习题 103 第5章 ZooKeeper分布式协调服务 105 5.1 认识ZooKeeper 105 5.1.1 ZooKeeper简介 105 5.1.2 ZooKeeper的设计目的 105 5.1.3 ZooKeeper的系统模型 106 5.1.4 ZooKeeper中的角色 106 5.1.5 ZooKeeper的工作原理 107 5.2 ZooKeeper安装和常用命令 108 5.2.1 ZooKeeper单机模式 108 5.2.2 ZooKeeper全分布式 109 5.2.3 ZooKeeper服务器常用脚本 111 5.2.4 ZooKeeper客户端节点和命令 111 5.3 ZooKeeper客户端编程 113 5.3.1 配置开发环境 113 5.3.2 Java程序操作ZooKeeper客户端 114 5.4 ZooKeeper典型应用场景 115 5.4.1 数据发布与订阅 115 5.4.2 命名服务 115 5.4.3 分布式锁 116 5.5 本章小结 116 5.6 习题 116 第6章 Hadoop 2.0新特性 118 6.1 Hadoop 2.0的改进 118 6.1.1 HDFS存在的问题 118 6.1.2 MapReduce存在的问题 118 6.1.3 HDFS 2.0解决HDFS 1.0中的问题 119 6.2 YARN资源管理框架 119 6.2.1 YARN简介 119 6.2.2 YARN架构 119 6.2.3 YARN的优势 120 6.3 Hadoop的HA模式 120 6.3.1 HA模式简介 120 6.3.2 HDFS的HA模式 121 6.3.3 YARN的HA模式 127 6.3.4 启动和关闭Hadoop的HA模式 131 6.4 本章小结 132 6.5 习题 132 第7章 Hive 133 7.1 数据仓库简介 133 7.1.1 数据仓库概述 133 7.1.2 数据仓库的使用 133 7.1.3 数据仓库的特点 134 7.1.4 主流的数据仓库 134 7.2 认识Hive 134 7.2.1 Hive简介 134 7.2.2 Hive架构 135 7.2.3 Hive和关系型数据库比较 136 7.3 Hive安装 136 7.4 Hive数据类型 140 7.4.1 Hive基本数据类型 140 7.4.2 Hive复杂数据类型 141 7.5 Hive数据库操作 142 7.6 Hive表 143 7.6.1 内部表和外部表 143 7.6.2 对表进行分区 149 7.6.3 对表或分区进行桶操作 153 7.7 Hive表的查询 156 7.7.1 select查询语句 156 7.7.2 视图 161 7.7.3 Join 162 7.8 Hive函数 165 7.8.1 Hive内置函数 165 7.8.2 通过JDBC驱动程序使用Hiveserver2服务 167 7.8.3 Hive用户自定义函数 169 7.9 Hive性能优化 171 7.10 Hive案例分析 173 7.11 本章小结 174 7.12 习题 174 第8章 HBase分布式存储系统 175 8.1 认识HBase 175 8.1.1 HBase简介 175 8.1.2 HBase的数据模型 176 8.1.3 HBase架构 176 8.1.4 HBase文件存储格式 178 8.1.5 HBase存储流程 179 8.1.6 HBase和HDFS 179 8.2 HBase表设计 179 8.2.1 列簇设计 179 8.2.2 行键设计 180 8.3 HBase安装 180 8.3.1 HBase的单机模式 180 8.3.2 HBase的HA模式 182 8.4 HBase Shell常用操作 184 8.5 HBase编程 190 8.5.1 配置开发环境 190 8.5.2 使用Java API操作HBase 191 8.5.3 使用HBase实现WordCount 193 8.6 HBase过滤器和比较器 195 8.6.1 过滤器 195 8.6.2 比较器 196 8.6.3 编程实例 196 8.7 HBase与Hive结合 201 8.7.1 HBase与Hive结合的原因 201 8.7.2 Hive关联HBase 201 8.8 HBase性能优化 202 8.9 本章小结 204 8.10 习题 204 第9章 Flume 205 9.1 认识Flume 205 9.1.1 Flume简介 205 9.1.2 Flume的特点 205 9.2 Flume基本组件 206 9.2.1 Event 206 9.2.2 Agent 206 9.3 Flume安装 207 9.4 Flume数据流模型 208 9.5 Flume的可靠性保证 210 9.5.1 负载均衡 210 9.5.2 故障转移 211 9.6 Flume拦截器 212 9.7 采集案例 214 9.7.1 采集目录到HDFS 214 9.7.2 采集文件到HDFS 215 9.8 本章小结 216 9.9 习题 216 第10章 Sqoop 217 10.1 认识Sqoop 217 10.1.1 Sqoop简介 217 10.1.2 Sqoop原理 218 10.1.3 Sqoop架构 218 10.2 Sqoop安装 218 10.3 Sqoop命令 220 10.3.1 Sqoop数据库连接参数 221 10.3.2 Sqoop export参数 221 10.3.3 Sqoop import参数 221 10.3.4 Sqoop import命令的基本操作 221 10.4 Sqoop数据导入 222 10.4.1 将MySQL的数据导入HDFS 222 10.4.2 将MySQL的数据导入Hive 223 10.4.3 将MySQL的数据导入HBase 226 10.4.4 增量导入 227 10.4.5 按需导入 229 10.5 Sqoop数据导出 230 10.5.1 将HDFS的数据导出到MySQL 230 10.5.2 将Hive的数据导出到MySQL 231 10.5.3 将HBase的数据导出到MySQL 231 10.6 Sqoop job 233 10.7 本章小结 233 10.8 习题 234 第11章 综合项目——电商精准营销 235 11.1 项目概述 235 11.1.1 项目背景介绍 235 11.1.2 项目架构设计 235 11.2 项目详细介绍 237 11.2.1 项目核心关注点 237 11.2.2 重要概念 237 11.2.3 维度 238 11.3 项目模块分析 239 11.3.1 用户基本信息分析模块 239 11.3.2 浏览器分析模块 239 11.3.3 地域分析模块 239 11.3.4 外链分析模块 239 11.4 数据采集 240 11.4.1 日志采集系统概述 240 11.4.2 JS SDK收集数据 240 11.4.3 Java SDK收集数据 242 11.4.4 使用Flume搭建日志采集系统 243 11.4.5 日志信息说明 244 11.5 数据清洗 245 11.5.1 分析需要清洗的数据 245 11.5.2 解析数据格式转换 245 11.5.3 利用MapReduce清洗数据 245 11.6 使用数据仓库进行数据分析 253 11.6.1 事件板块数据分析 253 11.6.2 订单板块数据分析 257 11.6.3 时间板块数据分析 262 11.7 可视化 264 11.7.1 ECharts简介 264 11.7.2 ECharts的优点 265 11.7.3 操作流程 265 11.8 本章小结 267 11.9 习题 267 附录 268
本书通过不断调整与优化,形成了结构合理、循序渐进、容量适度的10个教学单元:计算机基础知识、计算机硬件基础、计...
本书是一本采用任务驱动式体例编写的ECharts数据可视化技术教材,以通俗易懂的语言和丰富实用的任务,帮助读者...
本书是面向PHP语言和MySQL数据库初学者的一本入门教材,使用通俗易懂的语言、丰富的图解和实用的案例,详细讲...
本书为Java基础入门教材,适合初学者使用。全书共13章,第1~2章主要讲解Java技术的一些基础知识,内容包...
本书全面、系统地介绍银河麒麟桌面操作系统的基础知识、WPS Office的基本操作,以及其他信息技术的相关内容...
我要评论