Hadoop集群程序设计与开发

Hadoop集群程序设计与开发

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

带你了解大数据计算平台Hadoop设计与开发的必备知识。

内容简介

本书主要内容包括:第 1章 初识Hadoop、第 2章 Hadoop基础、第3章 Hadoop开发环境配置与搭建、第4章 Hadoop分布式文件系统(HDFS)、第5章 资源管理器(Yarn)、第6章 MapReduce基础程序设计、第7章 MapReduce程序设计、第8章 分布式数据库HBase、第9章 分布式数据仓库Hive、第 10章 项目测试与发布

作者简介

王宏志,哈尔滨工业大学计算机科学与技术学院海量数据计算研究中心教授,中国计算机学会数据库专委会委员。

章节目录

版权信息

编委会

内容提要

丛书序一

丛书序二

前言

第1章 初识Hadoop

1.1 为什么要学习Hadoop

1.1.1 信息化项目衍生过程

1.1.2 Hadoop产生过程

1.1.3 Hadoop成功案例介绍

1.2 Hadoop与云计算的关系

1.2.1 什么是云计算

1.2.2 云计算演进历史

1.2.3 云计算相关技术介绍

1.2.4 Hadoop在云项目中扮演的角色

1.3 Hadoop与大数据的关系

1.3.1 什么是大数据

1.3.2 大数据的存储结构

1.3.3 大数据的计算模式

1.3.4 Hadoop在大数据中扮演的角色

1.4 学习Hadoop需要具备的知识基础

1.5 学习Hadoop需要的实验环境

1.6 Hadoop的用途

1.7 小结

第2章 Hadoop基础知识

2.1 Hadoop简介

2.1.1 Apache Hadoop项目核心模块

2.1.2 Apache Hadoop项目的其他模块

2.2 Hadoop版本演化

2.3 RPC工作原理

2.3.1 RPC简介

2.3.2 Hadoop中的RPC

2.3.3 RPCoIB和JVM—旁路缓冲管理方案:在高性能网络InfiniBand上数据交换的改进

2.4 MapReduce工作原理

2.4.1 MapReduce计算模型

2.4.2 MapReduce经典案例

2.4.3 MapReduce应用场景

2.5 Hadoop改进

2.5.1 LATE算法:良好的适应异构性环境

2.5.2 Mantri:MapReduce异常处理

2.5.3 SkewTune:MapReduce中数据偏斜处理

2.5.4 基于RDMA的MapReduce设计:提升大数据应用的性能和规模

2.6 HDFS工作原理

2.6.1 HDFS介绍

2.6.2 HDFS体系结构

2.6.3 文件系统的命名空间

2.6.4 HDFS中Block副本放置策略

2.6.5 HDFS机架感知

2.6.6 HDFS安全模式

2.6.7 HDFS应用场景介绍

2.6.8 混合HDFS的设计:充分利用硬件能力获得最佳性能

2.7 YARN工作原理

2.7.1 YARN on HDFS的工作原理

2.7.2 MapReduce on YARN的工作原理

2.8 容错机制

2.9 安全性

2.10 小结

第3章 Hadoop开发环境配置与搭建

3.1 集群部署

3.1.1 安装包版本的选择

3.1.2 Hadoop安装先决条件

3.1.3 Hadoop安装模式

3.2 本地/独立模式搭建

3.2.1 JDK安装与配置

3.2.2 SSH无密码登录

3.2.3 Hadoop本地环境参数配置

3.2.4 Hadoop本地模式验证

3.3 伪分布模式搭建

3.3.1 配置过程

3.3.2 格式化HDFS

3.3.3 Hadoop进程启停与验证

3.4 全分布模式搭建

3.4.1 Hadoop网络配置

3.4.2 Hadoop集群SSH配置

3.4.3 时间同步

3.4.4 IP与机器名映射

3.4.5 Hadoop环境配置

3.4.6 Hadoop集群启停与验证

3.5 基于Hadoop平台的Eclipse开发环境的搭建

3.5.1 Hadoop Eclipse插件配置

3.5.2 编写第一个MapReduce程序

3.5.3 编译打包及运行程序

3.6 小结

第4章 Hadoop分布式文件系统

4.1 HDFS工作原理

4.1.1 HDFS读数据的过程

4.1.2 HDFS写数据的过程

4.1.3 HDFS删除与恢复数据的过程

4.2 HDFS常用命令行操作概述

4.2.1 HDFS命令行

4.2.2 HDFS常用命令行操作

4.3 通过Web浏览HDFS文件

4.4 HDFS API

4.4.1 使用FileSystem API读取数据命令行

4.4.2 使用FileSystem API写入数据命令行

4.4.3 FileUtil文件处理

4.5 小结

第5章 Hadoop的I/O操作

5.1 压缩

5.1.1 Hadoop压缩类型

5.1.2 CompressionCodec接口

5.1.3 CompressionCodecFactory类

5.1.4 压缩池

5.1.5 Hadoop中使用压缩

5.2 I/O序列化类型

5.2.1 Writable接口

5.2.2 Java基本类型的Writable封装器

5.2.3 IntWritable与VIntWritable类

5.2.4 Text类

5.2.5 BytesWritable类

5.2.6 NullWritable类

5.2.7 ObjectWritable类

5.2.8 自定义Writable接口

5.3 基于文件的数据结构

5.3.1 SequenceFile

5.3.2 MapFile

5.4 小结

第6章 MapReduce编程基础

6.1 剖析MapReduce编程过程

6.2 由WordCount理解MapReduce编程过程

6.2.1 准备工作

6.2.2 Mapper工作过程

6.2.3 Reducer工作过程

6.2.4 Job工作过程

6.3 MapReduce类型

6.4 Mapper输入

6.4.1 默认输入格式

6.4.2 FileInput输入

6.4.3 多路径输入

6.4.4 自定义输入分片

6.5 Shuffle

6.5.1 Shuffle运行原理

6.5.2 分区

6.5.3 排序

6.5.4 分组

6.6 Combiner

6.6.1 由WordCount案例讲解Combiner

6.6.2 由SVG案例进一步讲解Combiner

6.7 OutputFormat输出

6.8 编程模型的扩展——FlumeJava:云计算高级编程模型

6.8.1 FlumeJava结构

6.8.2 FlumeJava优化

6.9 小结

第7章 MapReduce高级编程

7.1 计数器

7.1.1 内置计数器

7.1.2 自定义计数器

7.1.3 计数器结果查看

7.2 最值

7.2.1 单一最值

7.2.2 Top N

7.3 全排序

7.3.1 全排序业务需求

7.3.2 实验数据准备

7.3.3 自定义分区实现全排序过程

7.3.4 通过抽样实现全排序过程

7.4 二次排序

7.4.1 解决方案

7.4.2 例子

7.5 连接

7.5.1 Reduce端连接

7.5.2 Map端连接

7.6 小结

第8章 初识HBase

8.1 HBase基础知识

8.1.1 HBase特征

8.1.2 HBase数据模型

8.1.3 HBase体系结构

8.2 HBase开发环境配置与安装

8.2.1 HBase环境配置基本准备条件

8.2.2 HBase配置文件

8.2.3 HBase独立安装

8.2.4 HBase伪分布式安装

8.2.5 HBase完全分布式安装

8.2.6 HBase启动、停止、监控

8.3 HBase基本Shell操作

8.3.1 HBase Shell启动

8.3.2 HBase Shell通用命令

8.3.3 HBase Shell表管理命令

8.3.4 HBase Shell表操作命令

8.3.5 HBase Shell应用举例

8.4 基于HBase API程序设计

8.4.1 管理表结构

8.4.2 管理表信息

8.4.3 Scan

8.4.4 过滤器

8.4.5 协处理器

8.4.6 计数器

8.4.7 MapReduce与HBase互操作

8.5 RowKey设计

8.5.1 HBase值的存储与读取的特点

8.5.2 HBase值存储特点引发的问题

8.5.3 RowKey设计遵循的原则

8.6 HBase的高性能设计:使用InfiniBand的RDMA

8.6.1 设计

8.6.2 优势

8.7 小结

第9章 初识Hive

9.1 Hive基础知识

9.1.1 Hive的存储结构

9.1.2 Hive与传统数据库的比较

9.2 Hive环境安装

9.2.1 Hive内嵌模式安装

9.2.2 Hive独立模式安装

9.2.3 Hive远程模式安装

9.2.4 初识Hive Shell

9.2.5 Java通过JDBC对Hive操作

9.3 HiveQL基本语法

9.3.1 Hive中的数据库

9.3.2 创建表的基本语法

9.3.3 表中数据的加载

9.3.4 HiveQL的数据类型

9.3.5 数据类型转换

9.3.6 文本文件数据编码

9.3.7 分区和桶

9.3.8 表维护

9.4 HiveQL基本查询

9.4.1 SELECT…FROM语句

9.4.2 WHERE语句

9.4.3 嵌套SELECT语句

9.4.4 Hive函数

9.4.5 GROUP BY语句

9.4.6 JOIN语句

9.4.7 UNION ALL语句

9.4.8 ORDER BY和SORT BY语句

9.4.9 含有SORT BY的DISTRIBUTE BY语句

9.4.10 CLUSTER BY语句

9.5 视图和索引

9.5.1 视图

9.5.2 索引

9.6 Hive与HBase集成

9.7 小结

附录 《Hadoop集群程序设计与开发》配套实验课程方案简介

Hadoop集群程序设计与开发是2018年由人民邮电出版社出版,作者王宏志。

得书感谢您对《Hadoop集群程序设计与开发》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
C语言程序设计:现代方法(第2版·修订版) 电子书
C语言入门零基础自学教程新升级,增加C1X相关内容,讲述C的所有特性,国外诸多名校的C语言课程教材,C开发人员的参考书。
Flink核心技术:源码剖析与特性开发 电子书
本书从设计思想和特性开发两个视角,对Flink框架进行介绍。
HBase入门与实践 电子书
大数据时代快速上手HBase行动指南。
Spark编程基础(Scala版) 电子书
本书是厦门大学作者团队长期经验总结的结晶,是在厦门大学《大数据技术原理与应用》入门级大数据教材的基础之上编写的。为了确保教程质量,在编著出版纸质教材之前,实验室已经于2016年10月通过实验室官网免费发布共享了简化版的Spark在线教程和相关教学资源,同时,该在线教程也已经用于厦门大学计算机科学系研究生的大数据课程教学,并成为全国高校大数据课程教师培训交流班的授课内容。实验室根据读者对在线Spark教程的大量反馈意见以及教学实践中发现的问题,对Spark在线教程进行了多次修正和完善,所有这些前期准备工作,都为纸质教材的编著出版打下了坚实的基础。 披荆斩棘,在大数据丛林中开辟学习捷径 填沟削坎,为快速学习Spark 技术铺平道路 深入浅出,有效降低Spark 技术学习门槛 资源全面,构建全方位一站式在线服务体系
Python编程基础 电子书
全面介绍Python编程基础与实用技术。