内容简介
以大数据处理主流平台Hadoop1.0为核心,介绍Hadoop MapReduce,HDFS,Hbase,以及Hive的基本设计思想、工作原理、系统构架、以及详细的大数据处理编程技术。
特点:
(1) 重点放在教读者算法设计实现,从基础算法,到应用编程案例,解决实际问题。
(2) 作者多年的教学研究实践,课程设计沉淀,可以更深入地讨论大数据。
(3) 来自业界——Intel真实的实践经验和案例积累。
目录
目 录
序一
序二
序三
丛书序言
前 言
第一部分 Hadoop系统
第1章 大数据处理技术简介 2
1.1 并行计算技术简介 2
1.1.1 并行计算的基本概念 2
1.1.2 并行计算技术的分类 6
1.1.3 并行计算的主要技术问题 10
1.2 大数据处理技术简介 13
1.2.1 大数据的发展背景和研究意义 13
1.2.2 大数据的技术特点 16
1.2.3 大数据研究的主要目标、基本原则和基本途径 17
1.2.4 大数据计算模式和系统 18
1.2.5 大数据计算模式的发展趋势 21
1.2.6 大数据的主要技术层面和技术内容 22
1.3 MapReduce并行计算技术简介 25
1.3.1 MapReduce的基本概念和由来 25
1.3.2 MapReduce的基本设计思想 26
1.3.3 MapReduce的主要功能和技术特征 28
1.4 Hadoop系统简介 30
1.4.1 Hadoop的概述与发展历史 30
1.4.2 Hadoop系统分布式存储与并行计算构架 31
1.4.3 Hadoop平台的基本组成与生态系统 33
1.4.4 Hadoop的应用现状和发展趋势 37
第2章 Hadoop系统的安装与操作管理 39
2.1 Hadoop系统安装方法简介 39
2.2 单机和单机伪分布式Hadoop系统安装基本步骤 39
2.2.1 安装和配置JDK 40
2.2.2 创建Hadoop用户 40
2.2.3 下载安装Hadoop 40
2.2.4 配置SSH 41
2.2.5 配置Hadoop环境 42
2.2.6 Hadoop的运行 43
2.2.7 运行测试程序 43
2.2.8 查看集群状态 44
2.3 集群分布式Hadoop系统安装基本步骤 44
2.3.1 安装和配置JDK 44
2.3.2 创建Hadoop用户 45
2.3.3 下载安装Hadoop 45
2.3.4 配置SSH 45
2.3.5 配置Hadoop环境 46
2.3.6 Hadoop的运行 48
2.3.7 运行测试程序 48
2.3.8 查看集群状态 49
2.4 Hadoop MapReduce程序开发过程 49
2.5 集群远程作业提交与执行 53
2.5.1 集群远程作业提交和执行过程 53
2.5.2 查看作业执行结果和集群状态 53
第3章 大数据存储——分布式文件系统HDFS 56
3.1 HDFS的基本特征与构架 56
3.1.1 HDFS的基本特征 57
3.1.2 HDFS的基本框架与工作过程 57
3.2 HDFS可靠性设计 60
3.2.1 HDFS数据块多副本存储设计 60
3.2.2 HDFS可靠性的设计实现 61
3.3 HDFS文件存储组织与读写 63
3.3.1 文件数据的存储组织 63
3.3.2 数据的读写过程 65
3.4 HDFS文件系统操作命令 68
3.4.1 HDFS启动与关闭 68
3.4.2 HDFS文件操作命令格式与注意事项 69
3.4.3 HDFS文件操作命令 69
3.4.4 操作命令和工具 77
3.5 HDFS基本编程接口与示例 83
3.5.1 HDFS编程基础知识 83
3.5.2 HDFS基本文件操作API 84
3.5.3 HDFS基本编程实例 87
第4章 Hadoop MapReduce并行编程框架 91
4.1 MapReduce基本编程模型和框架 91
4.1.1 MapReduce并行编程抽象模型 91
4.1.2 MapReduce的完整编程模型和框架 93
4.2 Hadoop MapReduce基本构架与工作过程 96
4.2.1 Hadoop系统构架和MapReduce程序执行过程 96
4.2.2 Hadoop MapReduce执行框架和作业执行流程 98
4.2.3 Hadoop MapReduce作业调度过程和调度方法 102
4.2.4 MapReduce执行框架的组件和执行流程 106
4.3 Hadoop MapReduce主要组件与编程接口 107
4.3.1 数据输入格式InputFormat 107
4.3.2 输入数据分块InputSplit 109
4.3.3 数据记录读入RecordReader 110
4.3.4 Mapper类 112
4.3.5 Combiner 114
4.3.6 P
摘要与插图
第一部分Hadoop系统
第1章 大数据处理技术简介
第2章 ?Hadoop系统的安装与操作管理
第3章 大数据存储——分布式文件系统HDFS
第4章 ?Hadoop MapReduce并行编程框架
第5章 分布式数据库Hbase
第6章 分布式数据仓库Hive
第7章 ?Intel Hadoop系统优化与功能增强
第1章
大数据处理技术简介
近年来,大数据技术在全世界迅猛发展,引起了全世界的广泛关注,掀起了一个性的发展浪潮。大数据技术发展的主要推动力来自并行计算硬件和软件技术的发展,以及近年来行业大数据处理需求的迅猛增长。其中,大数据处理技术接的推动因素,当数Google公司发明的MapReduce大规模数据分布存储和并行计算技术,以及Apache社区推出的开源Hadoop MapReduce并行计算系统的普及使用。为此,本书将重点介绍目前成为大数据处理主流技术和平台Hadoop MapReduce并行处理和编程技术。
本章将简要介绍大数据处理相关的基本概念、技术及发展状况。大数据处理的核心技术是分布存储和并行计算,因此,本章先简要介绍并行计算的基本概念和技术;在此基础上,将简要介绍MapReduce的基本概念、功能和技术特点;本章将进一步简要介绍开源Hadoop系统的基本功能特点和组成。
1.1 并行计算技术简介
1.1.1 并行计算的基本概念
随着信息技术的快速发展,人们对计算系统的计算能力和数据处理能力的要求日益提高。随着计算问题规模和数据量的不断增大,人们发现,以传统的串行计算方式越来越难以满足实际应用问题对计算能力和计算速度的需求,为此出现了并行计算技术。
并行计算(Parallel Computing)是指同时对多条指令、多个任务或多个数据进行处理的一种计算技术。实现这种计算方式的计算系统称为并行计算系统,它由一组处理单元组成,这组处理单元通过相互之间的通信与协作,以并行化的方式共同完成复杂的计算任务。实现并行计算的主要目的是,以并行化的计算方法,实现计算速度和计算能力的大幅提升,以解决传统的串行计算所难以完成的计算任务。
现代计算机的发展历程可分为两个明显不同的发展时代:串行计算时代和并行计算时代。并行计算技术是在单处理器计算能力面临发展瓶颈、无法继续取得突破后,才开始走上了快速发展的通道。并行计算时代的到来,使得计算技术获得了突破性的发展,大大提升了计算能力和计算规模。
1.?单处理器计算性能提升达到极限
纵观计算机的发展历史,日益提升计算性能是计算技术不断追求的目标和计算技术发展的主要特征之一。自计算机出现以来,提升单处理器计算机系统计算速度的常用技术手段有以下几个方面。
图1-1 摩尔定律
1)提升计算机处理器字长。随着计算机技术的发展,单处理器字长也在不断提升,从的4位发展到如今的64位。处理器字长提升的每个发展阶段均有代表性的处理器产品,如20世纪70年代出现的的4位Intel微处理器4004,到同时代以Intel 8008为代表的8位处理器,以及20世纪80年代Intel推出的16位字长80286处理器,以及后期发展出的Intel 80386/486/Pentium系列为主的32位处理器等。2000年以后发展至今,出现了64位字长的处理器。目前,32位和64位处理器是市场上主流的处理器。计算机处理器字长的发展大幅提升了处理器性能,推动了单处理器计算机的发展。
2)提高处理器芯片集成度。1965年,戈登·摩尔(Gordon Moore)发现了这样一条规律:半导体厂商能够集成在芯片中的晶体管数量大约每18~24个月翻一番,其计算性能也随着翻一番,这就是众所周知的摩尔定律。在计算技术发展的几十年中,摩尔定律一直引导着计算机产业的发展。
3)提升处理器的主频。计算机的主