本书作为 Hadoop 大数据技术的项目化实战教材,以任务驱动为导向,深入浅出地介绍了 Hadoop 及其周边框架的应用,涵盖了当前 Hadoop 生态系统中的主流大数据技术。全书共 12 个项目,包括云计算和大数据基础概论、CentOS 的安装与网络配置、MPI 集群部署及应用、Hadoop 集群部署及应用、MapReduce 基本原理及应用、HBase 数据库的搭建及使用、Hive 数据仓库的安装及应用、Pig 数据分析、Sqoop 数据迁移、Flume 日志收集系统、Spark 部署及数据分析、大数据技术编程实例。本书秉承“实践为主、理论够用、注重实用”原则,在任务实施中融入各个知识点与课程教学内容,以便读者能更好地学习和掌握大数据关键技术。本书既可以作为高职高专院校和应用型本科院校计算机相关专业的教材,还可以作为 IT 类培训机构培训云计算和大数据技术等相关课程的实训教材,并可以作为相关技术人员的参考书。
石慧,在汕尾职业技术学院担任专职教师。现任大数据技术与应用专业教研室主任,中国人工智能教育联盟委员会委员,汕尾市市场监督管理局(知识产权局)入库专家,汕尾市计算机学会会员,汕尾市创新工业设计研究院技术员。2002-2006年就读于中国地质大学(武汉)计算机学院,信息安全专业,获工学学士学位;2006-2009年就读于中国地质大学(武汉)计算机学院,计算机软件与理论专业,获工学硕士学位。
项目 1? 云计算和大数据基础概论 …………………………………………………………… 1
任务 1 认识云计算 ……………………………………………………………………… 1
任务 2 云计算中的虚拟化技术 ………………………………………………………… 7
任务 3 云计算与大数据 …………………………………………………………………13
任务 4 大数据的技术架构 ………………………………………………………………16
任务 5 大数据的应用前景 ………………………………………………………………18
任务 6 大数据的发展历程及其面临的挑战 ……………………………………………22
项目 2? CentOS 的安装与网络配置 ……………………………………………………… 27
任务 1 Linux 操作系统概述 ……………………………………………………………27
任务 2 使用 VMware 虚拟机安装 CentOS ……………………………………………32
任务 3 CentOS 网络环境配置 …………………………………………………………54
任务 4 yum 源设置及使用 ………………………………………………………………62
项目 3? MPI 集群部署及应用 ……………………………………………………………… 72
任务 1 NTP 时间同步设置 ……………………………………………………………72
任务 2 SSH 证书登录……………………………………………………………………78
任务 3 使用 NFS 设置共享目录 ………………………………………………………82
任务 4 MPI 的安装及测试 ………………………………………………………………86
任务 5 MPI 编程实战 ……………………………………………………………………91
项目 4? Hadoop 集群部署及应用 ………………………………………………………… 100
任务 1 Hadoop 集群部署前的准备工作 …………………………………………… 100
任务 2 Hadoop 的安装 ……………………………………………………………… 106
任务 3 Hadoop 伪分布式部署及应用 ……………………………………………… 110
任务 4 Hadoop 分布式部署及应用 ………………………………………………… 114
项目 5? MapReduce 基本原理及应用 …………………………………………………… 122
任务 1 MapReduce 工作原理及工作流程 …………………………………………… 122
任务 2 词频统计编程实践 …………………………………………………………… 125
任务 3 数据合并去重编程实践 ……………………………………………………… 136
任务 4 数据排序编程实践 …………………………………………………………… 140
项目 6? HBase 数据库的搭建及使用 …………………………………………………… 146
任务 1 HBase 安装及伪分布式部署 ………………………………………………… 146
任务 2 HBase 完全分布式部署 ……………………………………………………… 150
任务 3 HBase 操作实践 ……………………………………………………………… 156
任务 4 HBase 编程实践 ……………………………………………………………… 163
项目 7? Hive 数据仓库的安装及应用 …………………………………………………… 175
任务 1 Hive 基本概念………………………………………………………………… 175
任务 2 Hive 安装及部署……………………………………………………………… 178
任务 3 Hive 基本命令和应用………………………………………………………… 190
项目 8? Pig 数据分析 ……………………………………………………………………… 208
任务 1 Pig 基本概念 ………………………………………………………………… 208
任务 2 Pig 安装及部署 ……………………………………………………………… 211
任务 3 Pig 命令语法和使用 ………………………………………………………… 216
任务 4 Pig 简单编程 ………………………………………………………………… 235
项目 9? Sqoop 数据迁移…………………………………………………………………… 244
任务 1 Sqoop 基本概念 ……………………………………………………………… 244
任务 2 Sqoop 安装及部署 …………………………………………………………… 247
任 务 3 利 用 Sqoop 工具实现 MySQL 与
HDFS 之间数据迁移 …………………………………………………………………… 254
任务 4 利用 Sqoop 工具实现 MySQL 与 Hive/HBase 之间数据迁移……………… 265
项目 10? Flume 日志收集系统 …………………………………………………………… 278
任务 1 Flume 系统概述 ……………………………………………………………… 278
任务 2 Flume 安装和部署 …………………………………………………………… 282
任务 3 Flume 应用案例 ……………………………………………………………… 291
项目 11? Spark 部署及数据分析 ………………………………………………………… 305
任务 1 Spark 基本概念 ……………………………………………………………… 305
任务 2 Spark 安装及部署 …………………………………………………………… 308
任务 3 Spark 数据分析 ……………………………………………………………… 317
任务 4 Spark 应用案例 ……………………………………………………………… 332
项目 12? 大数据技术编程实例 …………………………………………………………… 347
任务 1 能耗数据分析及处理 ………………………………………………………… 347
任务 2 餐饮大数据分析及处理 ……………………………………………………… 360
参考文献……………………………………………………………………………………… 371