主编推荐语
本书全面讲解Hadoop生态圈各组件的核心知识、操作和分析技术,系统介绍Spark框架搭建、操作和典型的机器学习分析技术。
内容简介
本书是Hadoop Spark大数据分析技术入门书,基于Hadoop和Spark两大框架体系的3.2版本,以通俗易懂的方式介绍Hadoop Spark原生态组件的原理、集群搭建、实战操作,以及整个Hadoop生态系统主流的大数据分析技术。
全书共分14章。
第1章讲解Hadoop框架及新版本特性,并详细讲解大数据分析环境的搭建工作,包括Linux操作系统的安装、SSH工具使用和配置等;
第2章讲解Hadoop伪分布式的安装和开发体验,使读者熟悉Hadoop大数据开发两大核心组件,即HDFS和MapReduce;
第3~12章讲解Hadoop生态系统各框架HDFS、MapReduce、输入输出、Hadoop集群配置、高可用集群、HBase、Hive、数据实时处理系统Flume,以及Spark框架数据处理、机器学习等实战技术,并通过实际案例加深对各个框架的理解与应用;
第13~14章分别通过影评分析、旅游酒店评价分析实战项目来贯穿大数据分析的完整流程。
本书可以作为大数据分析初学者的入门指导书,也可以作为大数据开发人员的参考手册,同时也适合作为高等院校大数据相关专业的教材或教学参考书。
目录
- 版权信息
- 内容简介
- 前言
- 第1章 大数据与Hadoop
- 1.1 什么是大数据
- 1.2 大数据的来源
- 1.3 如何处理大数据
- 1.3.1 数据分析与挖掘
- 1.3.2 基于云平台的分布式处理
- 1.4 Hadoop 3新特性
- 1.5 虚拟机与Linux操作系统的安装
- 1.5.1 VirtualBox虚拟机的安装
- 1.5.2 Linux操作系统的安装
- 1.6 SSH工具与使用
- 1.7 Linux统一设置
- 1.8 本章小结
- 第2章 Hadoop伪分布式集群
- 2.1 安装独立运行的Hadoop
- 2.2 Hadoop伪分布式环境准备
- 2.3 Hadoop伪分布式安装
- 2.4 HDFS操作命令
- 2.5 Java项目访问HDFS
- 2.6 winutils
- 2.7 快速MapReduce程序示例
- 2.8 本章小结
- 第3章 HDFS分布式文件系统
- 3.1 HDFS的体系结构
- 3.2 NameNode的工作
- 3.3 SecondaryNameNode
- 3.4 DataNode
- 3.5 HDFS的命令
- 3.6 RPC远程过程调用
- 3.7 本章小结
- 第4章 分布式运算框架MapReduce
- 4.1 MapReduce的运算过程
- 4.2 WordCount示例
- 4.3 自定义Writable
- 4.4 Partitioner分区编程
- 4.5 自定义排序
- 4.6 Combiner编程
- 4.7 默认Mapper和默认Reducer
- 4.8 倒排索引
- 4.9 Shuffle
- 4.9.1 Spill过程
- 4.9.2 Sort过程
- 4.9.3 Merge过程
- 4.10 本章小结
- 第5章 Hadoop输入输出
- 5.1 自定义文件输入流
- 5.1.1 自定义LineTextInputFormat
- 5.1.2 自定义ExcelInputFormat类
- 5.1.3 DBInputFormat
- 5.1.4 自定义输出流
- 5.2 顺序文件SequenceFile的读写
- 5.2.1 生成一个顺序文件
- 5.2.2 读取顺序文件
- 5.2.3 获取Key/Value类型
- 5.2.4 使用SequenceFileInputFormat读取数据
- 5.3 本章小结
- 第6章 Hadoop分布式集群配置
- 6.1 Hadoop集群
- 6.2 本章小结
- 第7章 Hadoop高可用集群搭建
- 7.1 ZooKeeper简介
- 7.2 ZooKeeper集群安装
- 7.3 znode节点类型
- 7.4 观察节点
- 7.5 配置Hadoop高可靠集群
- 7.6 用Java代码操作集群
- 7.7 本章小结
- 第8章 数据仓库Hive
- 8.1 Hive简介
- 8.2 Hive3的安装配置
- 8.2.1 使用Derby数据库保存元数据
- 8.2.2 使用MySQL数据库保存元数据
- 8.3 Hive命令
- 8.4 Hive内部表
- 8.5 Hive外部表
- 8.6 Hive表分区
- 8.6.1 分区的技术细节
- 8.6.2 分区示例
- 8.7 查询示例汇总
- 8.8 Hive函数
- 8.8.1 关系运算符号
- 8.8.2 更多函数
- 8.8.3 使用Hive函数实现WordCount
- 8.9 本章小结
- 第9章 HBase数据库
- 9.1 HBase的特点
- 9.1.1 HBase的高并发和实时处理数据
- 9.1.2 HBase的数据模型
- 9.2 HBase的安装
- 9.2.1 HBase的单节点安装
- 9.2.2 HBase的伪分布式安装
- 9.2.3 Java客户端代码
- 9.2.4 其他Java操作代码
- 9.3 HBase集群安装
- 9.4 HBase Shell操作
- 9.4.1 DDL操作
- 9.4.2 DML操作
- 9.5 本章小结
- 第10章 Flume数据采集
- 10.1 Flume简介
- 10.1.1 Flume原理
- 10.1.2 Flume的一些核心概念
- 10.2 Flume的安装与配置
- 10.3 快速示例
- 10.4 在ZooKeeper中保存Flume的配置文件
- 10.5 Flume的更多Source
- 10.5.1 avro source
- 10.5.2 thrift source和thrift sink
- 10.5.3 exec source
- 10.5.4 spool source
- 10.5.5 HDFS sinks
- 10.6 本章小结
- 第11章 Spark框架搭建及应用
- 11.1 安装Spark
- 11.1.1 本地模式
- 11.1.2 伪分布式安装
- 11.1.3 集群安装
- 11.1.4 Spark on YARN
- 11.2 使用Scala开发Spark应用
- 11.2.1 安装Scala
- 11.2.2 开发Spark程序
- 11.3 spark-submit
- 11.3.1 使用spark-submit提交
- 11.3.2 spark-submit参数说明
- 11.4 DataFrame
- 11.4.1 DataFrame概述
- 11.4.2 DataFrame基础应用
- 11.5 Spark SQL
- 11.5.1 快速示例
- 11.5.2 Read和Write
- 11.6 Spark Streaming
- 11.6.1 快速示例
- 11.6.2 DStream
- 11.6.3 FileStream
- 11.6.4 窗口函数
- 11.6.5 updateStateByKey
- 11.7 共享变量
- 11.7.1 广播变量
- 11.7.2 累加器
- 11.8 本章小结
- 第12章 Spark机器学习
- 12.1 机器学习
- 12.1.1 机器学习概述
- 12.1.2 Spark ML
- 12.2 典型机器学习流程介绍
- 12.2.1 提出问题
- 12.2.2 假设函数
- 12.2.3 代价函数
- 12.2.4 训练模型确定参数
- 12.3 经典算法模型实战
- 12.3.1 聚类算法实战
- 12.3.2 回归算法实战
- 12.3.3 协同过滤算法实战
- 第13章 影评分析项目实战
- 13.1 项目内容
- 13.2 项目需求及分析
- 13.3 详细实现
- 13.3.1 搭建项目环境
- 13.3.2 编写爬虫类
- 13.3.3 编写分词类
- 13.3.4 第一个job的Map阶段实现
- 13.3.5 一个job的Reduce阶段实现
- 13.3.6 第二个job的Map阶段实现
- 13.3.7 第二个job的自定义排序类阶段的实现
- 13.3.8 第二个job的自定义分区阶段实现
- 13.3.9 第二个job的Reduce阶段实现
- 13.3.10 Run程序主类实现
- 13.3.11 编写词云类
- 13.3.12 效果测试
- 第14章 旅游酒店评价分析项目实战
- 14.1 项目介绍
- 14.2 项目需求及分析
- 14.2.1 数据集需求
- 14.2.2 功能需求
- 14.3 详细实现
- 14.3.1 数据集上传到HDFS
- 14.3.2 Spark数据清洗
- 14.3.3 构建Hive数据仓库表
- 14.3.4 Hive表数据导出到MySQL
- 14.3.5 数据可视化开发
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。