展开全部

主编推荐语

Hadoop技术实践与实际项目结合,分为基础篇、应用篇和结束篇。

内容简介

本书主要介绍Hadoop技术的相关知识,并将理论知识与实际项目相结合。全书共分为三个部分:基础篇、应用篇和结束篇。基础篇详细介绍了Hadoop、MapReduce、HDFS、Hive和Sqoop,并深入探讨了Hadoop的运维和调优;应用篇则包含了一个具有代表性的完整的基于Hadoop的商业智能系统的设计和实现;结束篇对全书进行总结,并对技术发展做了展望。本书最大的特点是面向实践。

目录

  • 封面
  • 目录
  • 扉页
  • 版权
  • 前言
  • 基础篇:Hadoop基础
  • 第1章 绪论
  • 1.1 Hadoop和云计算
  • 1.1.1 Hadoop的电梯演讲
  • 1.1.2 Hadoop生态圈
  • 1.1.3 云计算的定义
  • 1.1.4 云计算的类型
  • 1.1.5 Hadoop和云计算
  • 1.2 Hadoop和大数据
  • 1.2.1 大数据的定义
  • 1.2.2 大数据的结构类型
  • 1.2.3 大数据行业应用实例
  • 1.2.4 Hadoop和大数据
  • 1.2.5 其他大数据处理平台
  • 1.3 数据挖掘和商业智能
  • 1.3.1 数据挖掘的定义
  • 1.3.2 数据仓库
  • 1.3.3 操作数据库系统和数据仓库系统的区别
  • 1.3.4 为什么需要分离的数据仓库
  • 1.3.5 商业智能
  • 1.3.6 大数据时代的商业智能
  • 第2章 环境准备
  • 2.1 Hadoop的发行版本选择
  • 2.1.1 Apache Hadoop
  • 2.1.2 CDH
  • 2.1.3 Hadoop的版本
  • 2.1.4 如何选择Hadoop的版本
  • 2.2 Hadoop架构
  • 2.2.1 Hadoop HDFS架构
  • 2.2.2 Hadoop MapReduce架构
  • 2.2.3 Hadoop架构
  • 2.3 安装Hadoop
  • 2.3.1 安装运行环境
  • 2.3.2 修改主机名和用户名
  • 2.3.3 配置静态IP地址
  • 2.3.4 配置SSH无密码连接
  • 2.3.5 安装JDK
  • 2.3.6 配置Hadoop
  • 2.3.7 格式化HDFS
  • 2.3.8 启动Hadoop并验证安装
  • 2.4 安装Hive
  • 2.4.1 安装元数据库
  • 2.4.2 修改Hive配置文件
  • 2.4.3 验证安装
  • 2.5 安装Sqoop
  • 2.6 Eclipse Hadoop插件的安装和使用
  • 2.6.1 安装并配置Eclipse Hadoop插件
  • 2.6.2 Eclipse插件的使用
  • 第3章 Hadoop的基石:HDFS
  • 3.1 认识HDFS
  • 3.1.1 HDFS的设计理念
  • 3.1.2 HDFS的架构
  • 3.1.3 HDFS容错
  • 3.2 HDFS读取文件和写入文件
  • 3.2.1 块的分布
  • 3.2.2 数据读取
  • 3.2.3 写入数据
  • 3.2.4 数据完整性
  • 3.3 如何访问HDFS
  • 3.3.1 命令行接口
  • 3.3.2 Java API
  • 3.3.3 其他常用的接口
  • 3.3.4 Web UI
  • 第4章 分而治之的智慧:MapReduce
  • 4.1 认识MapReduce
  • 4.1.1 MapReduce的编程思想
  • 4.1.2 MapReduce运行环境
  • 4.1.3 MapReduce作业和任务
  • 4.1.4 MapReduce的计算资源划分
  • 4.1.5 MapReduce的局限性
  • 4.2 Hello WordCount
  • 4.2.1 WordCount的设计思路
  • 4.2.2 编写WordCount
  • 4.2.3 运行程序
  • 4.2.4 还能更快吗
  • 4.3 MapReduce的过程
  • 4.3.1 从输入到输出
  • 4.3.2 input
  • 4.3.3 map及中间结果的输出
  • 4.3.4 shuffle
  • 4.3.5 reduce及最后结果的输出
  • 4.3.6 sort
  • 4.3.7 作业的进度组成
  • 4.4 MapReduce的工作机制
  • 4.4.1 作业提交
  • 4.4.2 作业初始化
  • 4.4.3 任务分配
  • 4.4.4 任务执行
  • 4.4.5 任务完成
  • 4.4.6 推测执行
  • 4.4.7 MapReduce容错
  • 4.5 MapReduce编程
  • 4.5.1 Writable类
  • 4.5.2 编写Writable类
  • 4.5.3 编写Mapper类
  • 4.5.4 编写Reducer类
  • 4.5.5 控制shuffle
  • 4.5.6 控制sort
  • 4.5.7 编写main函数
  • 4.6 MapReduce编程实例:连接
  • 4.6.1 设计思路
  • 4.6.2 编写Mapper类
  • 4.6.3 编写Reducer类
  • 4.6.4 编写main函数
  • 4.7 MapReduce编程实例:二次排序
  • 4.7.1 设计思路
  • 4.7.2 编写Mapper类
  • 4.7.3 编写Partitioner类
  • 4.7.4 编写SortComparator类
  • 4.7.5 编写Reducer类
  • 4.7.6 编写main函数
  • 4.8 MapReduce编程实例:全排序
  • 4.8.1 设计思路
  • 4.8.2 编写代码
  • 第5章 SQL on Hadoop:Hive
  • 5.1 认识Hive
  • 5.1.1 从MapReduce到SQL
  • 5.1.2 Hive架构
  • 5.1.3 Hive与关系型数据库的区别
  • 5.1.4 Hive命令的使用
  • 5.2 数据类型和存储格式
  • 5.2.1 基本数据类型
  • 5.2.2 复杂数据类型
  • 5.2.3 存储格式
  • 5.2.4 数据格式
  • 5.3 HQL:数据定义
  • 5.3.1 Hive中的数据库
  • 5.3.2 Hive中的表
  • 5.3.3 创建表
  • 5.3.4 管理表
  • 5.3.5 外部表
  • 5.3.6 分区表
  • 5.3.7 删除表
  • 5.3.8 修改表
  • 5.4 HQL:数据操作
  • 5.4.1 装载数据
  • 5.4.2 通过查询语句向表中插入数据
  • 5.4.3 利用动态分区向表中插入数据
  • 5.4.4 通过CTAS加载数据
  • 5.4.5 导出数据
  • 5.5 HQL:数据查询
  • 5.5.1 SELECT…FROM语句
  • 5.5.2 WHERE语句
  • 5.5.3 GROUP BY和HAVING语句
  • 5.5.4 JOIN语句
  • 5.5.5 ORDER BY和SORT BY语句
  • 5.5.6 DISTRIBUTE BY和SORT BY语句
  • 5.5.7 CLUSTER BY
  • 5.5.8 分桶和抽样
  • 5.5.9 UNION ALL
  • 5.6 Hive函数
  • 5.6.1 标准函数
  • 5.6.2 聚合函数
  • 5.6.3 表生成函数
  • 5.7 Hive用户自定义函数
  • 5.7.1 UDF
  • 5.7.2 UDAF
  • 5.7.3 UDTF
  • 5.7.4 运行
  • 第6章 SQL to Hadoop:Sqoop
  • 6.1 一个Sqoop示例
  • 6.2 导入过程
  • 6.3 导出过程
  • 6.4 Sqoop的使用
  • 6.4.1 codegen
  • 6.4.2 create-hive-table
  • 6.4.3 eval
  • 6.4.4 export
  • 6.4.5 help
  • 6.4.6 import
  • 6.4.7 import-all-tables
  • 6.4.8 job
  • 6.4.9 list-databases
  • 6.4.10 list-tables
  • 6.4.11 merge
  • 6.4.12 metastore
  • 6.4.13 version
  • 第7章 Hadoop性能调优和运维
  • 7.1 Hadoop客户端
  • 7.2 Hadoop性能调优
  • 7.2.1 选择合适的硬件
  • 7.2.2 操作系统调优
  • 7.2.3 JVM调优
  • 7.2.4 Hadoop参数调优
  • 7.3 Hive性能调优
  • 7.3.1 JOIN优化
  • 7.3.2 Reducer的数量
  • 7.3.3 列裁剪
  • 7.3.4 分区裁剪
  • 7.3.5 GROUP BY优化
  • 7.3.6 合并小文件
  • 7.3.7 MULTI-GROUP BY和MULTI-INSERT
  • 7.3.8 利用UNION ALL特性
  • 7.3.9 并行执行
  • 7.3.10 全排序
  • 7.3.11 Top N
  • 7.4 Hadoop运维
  • 7.4.1 基础运维
  • 7.4.2 集群节点动态扩容和卸载
  • 7.4.3 利用SecondaryNameNode恢复NameNode
  • 7.4.4 常见的运维技巧
  • 7.4.5 常见的异常处理
  • 应用篇:商业智能系统项目实战
  • 第8章 在线图书销售商业智能系统
  • 8.1 项目背景
  • 8.2 功能需求
  • 8.2.1 并行数据导入
  • 8.2.2 数据清洗
  • 8.2.3 购书转化率分析
  • 8.2.4 购书用户聚类分析
  • 8.2.5 其他分析需求
  • 8.2.6 并行数据导出
  • 8.2.7 报表系统
  • 8.3 非功能需求
  • 8.3.1 性能需求
  • 8.3.2 可靠性需求和可用性需求
  • 8.3.3 容错性需求
  • 8.3.4 硬件需求
  • 8.3.5 扩展性需求
  • 第9章 系统结构设计
  • 9.1 系统架构
  • 9.1.1 数据源
  • 9.1.2 数据导入层
  • 9.1.3 数据存储层
  • 9.1.4 数据获取层
  • 9.1.5 数据管理层
  • 9.1.6 数据服务层
  • 9.1.7 数据应用层
  • 9.1.8 数据访问层
  • 9.2 功能设计
  • 9.3 数据仓库结构
  • 9.4 系统网络拓扑与硬件选型
  • 9.4.1 系统网络拓扑
  • 9.4.2 系统硬件选型
  • 9.5 技术选型
  • 9.5.1 平台选型
  • 9.5.2 系统开发语言选型
  • 第10章 在开发之前
  • 10.1 新建一个工程
  • 10.1.1 安装Python
  • 10.1.2 安装PyDev插件
  • 10.1.3 新建PyDev项目
  • 10.2 代码目录结构
  • 10.3 项目的环境变量
  • 10.4 如何调试
  • 第11章 实现数据导入导出模块
  • 11.1 处理流程
  • 11.2 导入方式
  • 11.2.1 全量导入
  • 11.2.2 增量导入
  • 11.3 读取配置文件
  • 11.4 SqoopUtil
  • 11.5 整合
  • 11.6 导入说明
  • 11.7 导出模块
  • 第12章 实现数据分析工具模块
  • 12.1 处理流程
  • 12.2 读取配置文件
  • 12.3 HiveUtil
  • 12.4 整合
  • 12.5 数据分析和报表
  • 12.5.1 OLAP和Hive
  • 12.5.2 OLAP和多维模型
  • 第13章 实现业务数据的数据清洗模块
  • 13.1 ETL
  • 13.1.1 数据抽取
  • 13.1.2 数据转换
  • 13.1.3 数据清洗工具
  • 13.2 处理流程
  • 13.3 数据去重
  • 13.3.1 产生原因
  • 13.3.2 去重方法
  • 13.3.3 一个很有用的UDF:RowNum
  • 13.3.4 第二种去重方法
  • 13.3.5 进行去重
  • 第14章 实现点击流日志的数据清洗模块
  • 14.1 数据仓库和Web
  • 14.2 处理流程
  • 14.3 字段的获取
  • 14.4 编写MapReduce作业
  • 14.4.1 编写IP地址解析器
  • 14.4.2 编写Mapper类
  • 14.4.3 编写Partitioner类
  • 14.4.4 编写SortComparator类
  • 14.4.5 编写Reducer类
  • 14.4.6 编写main函数
  • 14.4.7 通过Python调用jar文件
  • 14.5 还能做什么
  • 14.5.1 网站分析的指标
  • 14.5.2 网站分析的决策支持
  • 第15章 实现购书转化率分析模块
  • 15.1 漏斗模型
  • 15.2 处理流程
  • 15.3 读取配置文件
  • 15.4 提取所需数据
  • 15.5 编写转化率分析MapReduce作业
  • 15.5.1 编写Mapper类
  • 15.5.2 编写Partitioner类
  • 15.5.3 编写SortComparator类
  • 15.5.4 编写Reducer类
  • 15.5.5 编写Driver类
  • 15.5.6 通过Python模块调用jar文件
  • 15.6 对中间结果进行汇总得到最终结果
  • 15.7 整合
  • 第16章 实现购书用户聚类模块
  • 16.1 物以类聚
  • 16.2 聚类算法
  • 16.2.1 k-means算法
  • 16.2.2 Canopy算法
  • 16.2.3 数据向量化
  • 16.2.4 数据归一化
  • 16.2.5 相似性度量
  • 16.3 用MapReduce实现聚类算法
  • 16.3.1 Canopy算法与MapReduce
  • 16.3.2 k-means算法与MapReduce
  • 16.3.3 Apache Mahout
  • 16.4 处理流程
  • 16.5 提取数据并做归一化
  • 16.6 维度相关性
  • 16.6.1 维度的选取
  • 16.6.2 相关系数与相关系数矩阵
  • 16.6.3 计算相关系数矩阵
  • 16.7 使用Mahout完成聚类
  • 16.7.1 使用Mahout
  • 16.7.2 解析Mahout的输出
  • 16.7.3 得到聚类结果
  • 16.8 得到最终结果
  • 16.9 评估聚类结果
  • 16.9.1 一份不适合聚类的数据
  • 16.9.2 簇间距离和簇内距离
  • 16.9.3 计算平均簇间距离
  • 第17章 实现调度模块
  • 17.1 工作流
  • 17.2 编写代码
  • 17.3 crontab
  • 17.4 让数据说话
  • 结束篇:总结和展望
  • 第18章 总结和展望
  • 18.1 总结
  • 18.2 YARN和CDH5
  • 18.3 Apache Spark
  • 18.4 NoSQL和NewSQL
  • 18.4.1 NoSQL
  • 18.4.2 NewSQL
  • 参考文献
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。