万本电子书0元读

万本电子书0元读

顶部广告

Hadoop海量数据处理 技术详解与项目实战(第2版)电子书

Hadoop是目前受关注的大数据处理平台和解决方案,并且已经广泛应用于生产环境。本书基于新的Hadoop(CDH5,Apache Hadoop 2.6)版本介绍Hadoop技术的相关知识,不但详细介绍了Hadoop、HDFS、YARN、MapReduce、Hive、Sqoop和HBase等,还深探讨了Hadoop、HBase的运维和性能调优,并包含了一个具有代表性的完整的基于Hadoop的商业智能系统的设计和实现。 本书的大特是面向实践。基础篇介绍Hadoop及相关组件的同时,包含了大量动手实例,而应用篇包含的基于Hadoop的完整实例脱胎于生产环境的真实项目。在应用篇中,读者不仅能够通过项目实战巩固基础篇的学习效果,还能学习商业智能系统的发过程。

售       价:¥

纸质售价:¥43.90购买纸书

477人正在读 | 4人评论 6.2

作       者:范东来

出  版  社:人民邮电出版社

出版时间:2016-08-01

字       数:34.2万

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(5条)
  • 读书简介
  • 目录
  • 累计评论(5条)
本书介绍了Hadoop技术的相关知识,并将理论知识与实际项目相结合。全书共分为三个部分:基础篇、应用篇和总结篇。基础篇详细介绍了Hadoop、YARN、MapReduce、HDFS、Hive、Sqoop和HBase,并深探讨了Hadoop的运维和调优;应用篇则包含了一个具有代表性的完整的基于Hadoop的商业智能系统的设计和实现;结束篇对全书行总结,并对技术发展做了展望。<br/>【推荐语】<br/>Hadoop是目前受关注的大数据处理平台和解决方案,并且已经广泛应用于生产环境。本书基于新的Hadoop(CDH5,Apache Hadoop 2.6)版本介绍Hadoop技术的相关知识,不但详细介绍了Hadoop、HDFS、YARN、MapReduce、Hive、Sqoop和HBase等,还深探讨了Hadoop、HBase的运维和性能调优,并包含了一个具有代表性的完整的基于Hadoop的商业智能系统的设计和实现。 本书的大特是面向实践。基础篇介绍Hadoop及相关组件的同时,包含了大量动手实例,而应用篇包含的基于Hadoop的完整实例脱胎于生产环境的真实项目。在应用篇中,读者不仅能够通过项目实战巩固基础篇的学习效果,还能学习商业智能系统的发过程。 本书由浅至深,从理论基础到项目实战,适合Hadoop的初学者阅读,也可以作为高等院校相关课程的教学参考书。 本书主要内容 包含了Hadoop新版本的几乎所有主要特性,是Hadoop目前成熟的形态。 深介绍了NoSQL架构模式、HBase的架构和实现,以及HBase的高级特性。 深介绍了统一资源管理和调度平台的范型和YARN实现。 深介绍了Hadoop、HBase性能调优,满足海量数据处理的需求。 包含了一个完整的项目实战,从需求定义、系统设计和架构后到代码实现。 包含了一个机器学习算法应用实战,利用Hadoop行大数据挖掘,从数据中寻找模式。<br/>【作者】<br/>范东来,北京航空航天大学硕士,技术图书作者和译者,著有《Hadoop海量数据处理》(该书台湾繁体字版为《Hadoop:BigData技術詳解與專案實作》),译有《解读NoSQL》。BBD(数联铭品)大数据技术部负责人,大数据平台架构师,极客学院布道师。研究方向:并行图挖掘、去中心化应用。<br/>
目录展开

内容提要

第2版序

第1版序

前言

为什么要写这本书

本书特点有哪些

读者对象是哪些

为什么要写第2版

如何阅读本书

勘误和支持

致谢

基础篇: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 大数据时代的商业智能

1.4 小结

第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 YARN架构

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 安装HBase

2.5.1 解压文件并修改Zookeeper相关配置

2.5.2 配置节点

2.5.3 配置环境变量

2.5.4 启动并验证

2.6 安装Sqoop

2.7 Cloudera Manager

2.8 小结

第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

3.4 HDFS中的新特性

3.4.1 NameNode HA

3.4.2 NameNode Federation

3.4.3 HDFS Snapshots

3.5 小结

第4章 YARN:统一资源管理和调度平台

4.1 YARN是什么

4.2 统一资源管理和调度平台范型

4.2.1 集中式调度器

4.2.2 双层调度器

4.2.3 状态共享调度器

4.3 YARN的架构

4.3.1 ResourceManager

4.3.2 NodeManager

4.3.3 ApplicationMaster

4.3.4 YARN的资源表示模型Container

4.4 YARN的工作流程

4.5 YARN的调度器

4.5.1 YARN的资源管理机制

4.5.2 FIFO Scheduler

4.5.3 Capacity Scheduler

4.5.4 Fair Scheduler

4.6 YARN命令行

4.7 Apache Mesos

4.8 小结

第5章 分而治之的智慧:MapReduce

5.1 认识MapReduce

5.1.1 MapReduce的编程思想

5.1.2 MapReduce运行环境

5.1.3 MapReduce作业和任务

5.1.4 MapReduce的计算资源划分

5.1.5 MapReduce的局限性

5.2 Hello Word Count

5.2.1 Word Count的设计思路

5.2.2 编写Word Count

5.2.3 运行程序

5.2.4 还能更快吗

5.3 MapReduce的过程

5.3.1 从输入到输出

5.3.2 input

5.3.3 map及中间结果的输出

5.3.4 shuffle

5.3.5 reduce及最后结果的输出

5.3.6 sort

5.3.7 作业的进度组成

5.4 MapReduce的工作机制

5.4.1 作业提交

5.4.2 作业初始化

5.4.3 任务分配

5.4.4 任务执行

5.4.5 任务完成

5.4.6 推测执行

5.4.7 MapReduce容错

5.5 MapReduce编程

5.5.1 Writable类

5.5.2 编写Writable类

5.5.3 编写Mapper类

5.5.4 编写Reducer类

5.5.5 控制shuffle

5.5.6 控制sort

5.5.7 编写main函数

5.6 MapReduce编程实例:连接

5.6.1 设计思路

5.6.2 编写Mapper类

5.6.3 编写Reducer类

5.6.4 编写main函数

5.7 MapReduce编程实例:二次排序

5.7.1 设计思路

5.7.2 编写Mapper类

5.7.3 编写Partitioner类

5.7.4 编写SortComparator类

5.7.5 编写Reducer类

5.7.6 编写main函数

5.8 MapReduce编程实例:全排序

5.8.1 设计思路

5.8.2 编写代码

5.9 小结

第6章 SQL on Hadoop:Hive

6.1 认识Hive

6.1.1 从MapReduce到SQL

6.1.2 Hive架构

6.1.3 Hive与关系型数据库的区别

6.1.4 Hive命令的使用

6.2 数据类型和存储格式

6.2.1 基本数据类型

6.2.2 复杂数据类型

6.2.3 存储格式

6.2.4 数据格式

6.3 HQL:数据定义

6.3.1 Hive中的数据库

6.3.2 Hive中的表

6.3.3 创建表

6.3.4 管理表

6.3.5 外部表

6.3.6 分区表

6.3.7 删除表

6.3.8 修改表

6.4 HQL:数据操作

6.4.1 装载数据

6.4.2 通过查询语句向表中插入数据

6.4.3 利用动态分区向表中插入数据

6.4.4 通过CTAS加载数据

6.4.5 导出数据

6.5 HQL:数据查询

6.5.1 SELECT…FROM语句

6.5.2 WHERE语句

6.5.3 GROUP BY和HAVING语句

6.5.4 JOIN语句

6.5.5 ORDER BY和SORT BY语句

6.5.6 DISTRIBUTE BY和SORT BY语句

6.5.7 CLUSTER BY

6.5.8 分桶和抽样

6.5.9 UNION ALL

6.6 Hive函数

6.6.1 标准函数

6.6.2 聚合函数

6.6.3 表生成函数

6.7 Hive用户自定义函数

6.7.1 UDF

6.7.2 UDAF

6.7.3 UDTF

6.7.4 运行

6.8 小结

第7章 SQL to Hadoop : Sqoop

7.1 一个Sqoop示例

7.2 导入过程

7.3 导出过程

7.4 Sqoop的使用

7.4.1 codegen

7.4.2 create-hive-table

7.4.3 eval

7.4.4 export

7.4.5 help

7.4.6 import

7.4.7 import-all-tables

7.4.8 job

7.4.9 list-databases

7.4.10 list-tables

7.4.11 merge

7.4.12 metastore

7.4.13 version

7.5 小结

第8章 HBase: Hadoop Database

8.1 酸和碱:两种数据库事务方法论

8.1.1 ACID

8.1.2 BASE

8.2 CAP定理

8.3 NoSQL的架构模式

8.3.1 键值存储

8.3.2 图存储

8.3.3 列族存储

8.3.4 文档存储

8.4 HBase的架构模式

8.4.1 行键、列族、列和单元格

8.4.2 HMaster

8.4.3 Region和RegionServer

8.4.4 WAL

8.4.5 HFile

8.4.6 Zookeeper

8.4.7 HBase架构

8.5 HBase写入和读取数据

8.5.1 Region定位

8.5.2 HBase写入数据

8.5.3 HBase读取数据

8.6 HBase基础API

8.6.1 创建表

8.6.2 插入

8.6.3 读取

8.6.4 扫描

8.6.5 删除单元格

8.6.6 删除表

8.7 HBase高级API

8.7.1 过滤器

8.7.2 计数器

8.7.3 协处理器

8.8 小结

第9章 Hadoop性能调优和运维

9.1 Hadoop客户端

9.2 Hadoop性能调优

9.2.1 选择合适的硬件

9.2.2 操作系统调优

9.2.3 JVM调优

9.2.4 Hadoop参数调优

9.3 Hive性能调优

9.3.1 JOIN优化

9.3.2 Reducer的数量

9.3.3 列裁剪

9.3.4 分区裁剪

9.3.5 GROUP BY优化

9.3.6 合并小文件

9.3.7 MULTI-GROUP BY和MULTI-INSERT

9.3.8 利用UNION ALL 特性

9.3.9 并行执行

9.3.10 全排序

9.3.11 Top N

9.4 HBase调优

9.4.1 通用调优

9.4.2 客户端调优

9.4.3 写调优

9.4.4 读调优

9.4.5 表设计调优

9.5 Hadoop运维

9.5.1 集群节点动态扩容和卸载

9.5.2 利用SecondaryNameNode恢复NameNode

9.5.3 常见的运维技巧

9.5.4 常见的异常处理

9.6 小结

应用篇:商业智能系统项目实战

第10章 在线图书销售商业智能系统

10.1 项目背景

10.2 功能需求

10.3 非功能需求

10.4 小结

第11章 系统结构设计

11.1 系统架构

11.2 功能设计

11.3 数据仓库结构

11.4 系统网络拓扑与硬件选型

11.4.1 系统网络拓扑

11.4.2 系统硬件选型

11.5 技术选型

11.5.1 平台选型

11.5.2 系统开发语言选型

11.6 小结

第12章 在开发之前

12.1 新建一个工程

12.1.1 安装Python

12.1.2 安装PyDev插件

12.1.3 新建PyDev项目

12.2 代码目录结构

12.3 项目的环境变量

12.4 如何调试

12.5 小结

第13章 实现数据导入导出模块

13.1 处理流程

13.2 导入方式

13.2.1 全量导入

13.2.2 增量导入

13.3 读取配置文件

13.4 SqoopUtil

13.5 整合

13.6 导入说明

13.7 导出模块

13.8 小结

第14章 实现数据分析工具模块

14.1 处理流程

14.2 读取配置文件

14.3 HiveUtil

14.4 整合

14.5 数据分析和报表

14.5.1 OLAP和Hive

14.5.2 OLAP和多维模型

14.5.3 选MySQL还是选HBase

14.6 小结

第15章 实现业务数据的数据清洗模块

15.1 ETL

15.1.1 数据抽取

15.1.2 数据转换

15.1.3 数据清洗工具

15.2 处理流程

15.3 数据去重

15.3.1 产生原因

15.3.2 去重方法

15.3.3 一个很有用的UDF:RowNum

15.3.4 第二种去重方法

15.3.5 进行去重

15.4 小结

第16章 实现点击流日志的数据清洗模块

16.1 数据仓库和Web

16.2 处理流程

16.3 字段的获取

16.4 编写MapReduce作业

16.4.1 编写IP地址解析器

16.4.2 编写Mapper类

16.4.3 编写Partitioner类

16.4.4 编写SortComparator类

16.4.5 编写Reducer类

16.4.6 编写main函数

16.4.7 通过Python调用jar文件

16.5 还能做什么

16.5.1 网站分析的指标

16.5.2 网站分析的决策支持

16.6 小结

第17章 实现购书转化率分析模块

17.1 漏斗模型

17.2 处理流程

17.3 读取配置文件

17.4 提取所需数据

17.5 编写转化率分析MapReduce作业

17.5.1 编写Mapper类

17.5.2 编写Partitioner类

17.5.3 编写SortComparator类

17.5.4 编写Reducer类

17.5.5 编写Driver类

17.5.6 通过Python模块调用jar文件

17.6 对中间结果进行汇总得到最终结果

17.7 整合

17.8 小结

第18章 实现购书用户聚类模块

18.1 物以类聚

18.2 聚类算法

18.2.1 k-means算法

18.2.2 Canopy算法

18.2.3 数据向量化

18.2.4 数据归一化

18.2.5 相似性度量

18.3 用MapReduce实现聚类算法

18.3.1 Canopy算法与MapReduce

18.3.2 k-means算法与MapReduce

18.3.3 Apache Mahout

18.4 处理流程

18.5 提取数据并做归一化

18.6 维度相关性

18.6.1 维度的选取

18.6.2 相关系数与相关系数矩阵

18.6.3 计算相关系数矩阵

18.7 使用Mahout完成聚类

18.7.1 使用Mahout

18.7.2 解析Mahout的输出

18.7.3 得到聚类结果

18.8 得到最终结果

18.9 评估聚类结果

18.9.1 一份不适合聚类的数据

18.9.2 簇间距离和簇内距离

18.9.3 计算平均簇间距离

18.10 小结

第19章 实现调度模块

19.1 工作流

19.2 编写代码

19.3 crontab

19.4 让数据说话

19.5 小结

结束篇:总结和展望

第20章 总结和展望

20.1 总结

20.2 BDAS

20.3 Dremel系技术

20.4 Pregel系技术

20.5 Docker和Kubernetes

20.6 数据集成工具NiFi

20.7 小结

参考文献

累计评论(5条) 6个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部