Hadoop应用开发技术详解

Hadoop应用开发技术详解

刘刚, 著

出版社:机械工业出版社

年代:2013

定价:79.0

书籍简介:

本书一共分为五个部分:基础篇(1~2章),主要介绍了Hadoop的概念、用途、整个生态环境中的其他技术,以及Hadoop的安装与配置;应用篇(3~6章),分别详细讲解了MapReduce的用法、HDFS的技术细节、I/O的技术细节、MR的工作原理等;开发篇(7~12章),主要讲解了MR、HBase、Hive、Pig的应用开发方法,以及FlumeNG的使用方法;实战篇(13~17章),主要讲解了几个大型的案例,包括MR与Eclipse的集成、MR应用开发的案例、HDFS的应用开发案例、HBase的应用开发案例、Hive的应用开发案例;提高篇(18~20章)主要讲解了MR、HBase和Hive的高级特性和性能优化。

书籍目录:

前言第1章 Hadoop概述1.1 Hadoop起源1.1.1 Google与Hadoop模块1.1.2 为什么会有Hadoop1.1.3 Hadoop版本介绍1.2 Hadoop生态系统1.3 Hadoop常用项目介绍1.4 Hadoop在国内的应用1.5 本章小结第2章 Hadoop安装2.1 Hadoop环境安装配置2.1.1 安装VMware2.1.2 安装Ubuntu2.1.3 安装VMwareTools2.1.4 安装JDK2.2 Hadoop安装模式2.2.1 单机安装2.2.2 伪分布式安装2.2.3 分布式安装2.3 如何使用Hadoop2.3.1 Hadoop的启动与停止2.3.2 Hadoop配置文件2.4 本章小结第3章 MapReduce快速入门3.1 WordCount实例准备开发环境3.1.1 使用Eclipse创建一个Java工程3.1.2 导入Hadoop的JAR文件3.2 MapReduce代码的实现3.2.1 编写WordMapper类3.2.2 编写WordReducer类3.2.3 编写WordMain驱动类3.3 打包、部署和运行3.3.1 打包成JAR文件3.3.2 部署和运行3.3.3 测试结果3.4 本章小结第4章 Hadoop分布式文件系统详解4.1 认识HDFS4.1.1 HDFS的特点4.1.2 Hadoop文件系统的接口4.1.3 HDFS的Web服务4.2 HDFS架构4.2.1 机架4.2.2 数据块4.2.3 元数据节点4.2.4 数据节点4.2.5 辅助元数据节点4.2.6 名字空间4.2.7 数据复制4.2.8 块备份原理4.2.9 机架感知4.3 Hadoop的RPC机制4.3.1 RPC的实现流程4.3.2 RPC的实体模型4.3.3 文件的读取4.3.4 文件的写入4.3.5 文件的一致模型4.4 HDFS的HA机制4.4.1 HA集群4.4.2 HA架构4.4.3 为什么会有HA机制4.5 HDFS的Federation机制4.5.1 单个NameNode的HDFS架构的局限性4.5.2 为什么引入Federation机制4.5.3 Federation架构4.5.4 多个名字空间的管理问题4.6 Hadoop文件系统的访问4.6.1 安全模式4.6.2 HDFS的Shell访问4.6.3 HDFS处理文件的命令4.7 JavaAPI接口4.7.1 HadoopURL读取数据4.7.2 FileSystem类4.7.3 FileStatus类4.7.4 FSDataInputStream类4.7.5 FSDataOutputStream类4.7.6 列出HDFS下所有的文件4.7.7 文件的匹配4.7.8 PathFilter对象4.8 维护HDFS4.8.1 追加数据4.8.2 并行复制4.8.3 升级与回滚4.8.4 添加节点4.8.5 删除节点4.9 HDFS权限管理4.9.1 用户身份4.9.2 权限管理的原理4.9.3 设置权限的Shell命令4.9.4 超级用户4.9.5 HDFS权限配置参数4.10 本章小结第5章 Hadoop文件I/O详解5.1 Hadoop文件的数据结构5.1.1 SequenceFile存储5.1.2 MapFile存储5.1.3 SequenceFile转换为MapFile5.2 HDFS数据完整性5.2.1 校验和5.2.2 数据块检测程序5.3 文件序列化5.3.1 进程间通信对序列化的要求5.3.2 Hadoop文件的序列化5.3.3 Writable接口5.3.4 WritableComparable接口5.3.5 自定义Writable接口5.3.6 序列化框架5.3.7 数据序列化系统Avro5.4 Hadoop的Writable类型5.4.1 Writable类的层次结构5.4.2 Text类型5.4.3 NullWritable类型5.4.4 ObjectWritable类型5.4.5 GenericWritable类型5.5 文件压缩5.5.1 Hadoop支持的压缩格式5.5.2 Hadoop中的编码器和解码器5.5.3 本地库5.5.4 可分割压缩LZO5.5.5 压缩文件性能比较5.5.6 Snappy压缩5.5.7 gzip、LZO和Snappy比较5.6 本章小结第6章 MapReduce工作原理6.1 MapReduce的函数式编程概念6.1.1 列表处理6.1.2 Mapping数据列表6.1.3 Reducing数据列表6.1.4 Mapper和Reducer如何工作6.1.5 应用实例:词频统计6.2 MapReduce框架结构6.2.1 MapReduce模型6.2.2 MapReduce框架组成6.3 MapReduce运行原理6.3.1 作业的提交6.3.2 作业初始化6.3.3 任务的分配6.3.4 任务的执行6.3.5 进度和状态的更新6.3.6 MapReduce的进度组成6.3.7 任务完成6.4 MapReduce容错6.4.1 任务失败6.4.2 TaskTracker失败6.4.3 JobTracker失败6.4.4 子任务失败6.4.5 任务失败反复次数的处理方法6.5 Shuffle阶段和Sort阶段6.5.1 Map端的Shuffle6.5.2 Reduce端的Shuffle6.5.3 Shuffle过程参数调优6.6 任务的执行6.6.1 推测执行6.6.2 任务JVM重用6.6.3 跳过坏的记录6.6.4 任务执行的环境6.7 作业调度器6.7.1 先进先出调度器6.7.2 容量调度器6.7.3 公平调度器6.8 自定义Hadoop调度器6.8.1 Hadoop调度器框架6.8.2 编写Hadoop调度器6.9 YARN介绍6.9.1 异步编程模型6.9.2 YARN支持的计算框架6.9.3 YARN架构6.9.4 YARN工作流程6.10 本章小结第7章 Eclipse插件的应用7.1 编译Hadoop源码7.1.1 下载Hadoop源码7.1.2 准备编译环境7.1.3 编译common组件7.2 Eclipse安装MapReduce插件7.2.1 查找MapReduce插件7.2.2 新建一个Hadooplocation7.2.3 Hadoop插件操作HDFS7.2.4 运行MapReduce的驱动类7.3 MapReduce的Debug调试7.3.1 进入Debug运行模式7.3.2 Debug调试具体操作7.4 单元测试框架MRUnit7.4.1 认识MRUnit框架7.4.2 准备测试案例7.4.3 Mapper单元测试7.4.4 Reducer单元测试7.4.5 MapReduce单元测试7.5 本章小结第8章 MapReduce编程开发8.1 WordCount案例分析8.1.1 MapReduce工作流程8.1.2 WordCount的Map过程8.1.3 WordCount的Reduce过程8.1.4 每个过程产生的结果8.1.5 Mapper抽象类8.1.6 Reducer抽象类8.1.7 MapReduce驱动8.1.8 MapReduce最小驱动8.2 输入格式8.2.1 InputFormat接口8.2.2 InputSplit类8.2.3 RecordReader类8.2.4 应用实例:随机生成100个小数并求最大值8.3 输出格式8.3.1 OutputFormat接口8.3.2 RecordWriter类8.3.3 应用实例:把首字母相同的单词放到一个文件里8.4 压缩格式8.4.1 如何在MapReduce中使用压缩8.4.2 Map作业输出结果的压缩8.5 MapReduce优化8.5.1 Combiner类8.5.2 Partitioner类8.5.3 分布式缓存8.6 辅助类8.6.1 读取Hadoop配置文件8.6.2 设置Hadoop的配置文件属性8.6.3 GenericOptionsParser选项8.7 Streaming接口8.7.1 Streaming工作原理8.7.2 Streaming编程接口参数8.7.3 作业配置属性8.7.4 应用实例:抓取网页的标题8.8 本章小结第9章 MapReduce高级应用9.1 计数器9.1.1 默认计数器9.1.2 自定义计数器9.1.3 获取计数器9.2 MapReduce二次排序9.2.1 二次排序原理9.2.2 二次排序的算法流程9.2.3 代码实现9.3 MapReduce中的Join算法9.3.1 Reduce端Join9.3.2 Map端Join9.3.3 半连接SemiJoin9.4 MapReduce从MySQL读写数据9.4.1 读数据9.4.2 写数据9.5 Hadoop系统调优9.5.1 小文件优化9.5.2 Map和Reduce个数设置9.6 本章小结第10章 数据仓库工具Hive10.1 认识Hive10.1.1 Hive工作原理10.1.2 Hive数据类型10.1.3 Hive的特点10.1.4 Hive下载与安装10.2 Hive架构10.2.1 Hive用户接口10.2.2 Hive元数据库10.2.3 Hive的数据存储10.2.4 Hive解释器10.3 Hive文件格式10.3.1 TextFile格式10.3.2 SequenceFile格式10.3.3 RCFile文件格式10.3.4 自定义文件格式10.4 Hive操作10.4.1 表操作10.4.2 视图操作10.4.3 索引操作10.4.4 分区操作10.4.5 桶操作10.5 Hive复合类型10.5.1 Struct类型10.5.2 Array类型10.5.3 Map类型10.6 Hive的JOIN详解10.6.1 JOIN操作语法10.6.2 JOIN原理10.6.3 外部JOIN10.6.4 Map端JOIN10.6.5 JOIN中处理NULL值的语义区别10.7 Hive优化策略10.7.1 列裁剪10.7.2 MapJoin操作10.7.3 GroupBy操作10.7.4 合并小文件10.8 Hive内置操作符与函数10.8.1 字符串函数10.8.2 集合统计函数10.8.3 复合类型操作10.9 Hive用户自定义函数接口10.9.1 用户自定义函数UDF10.9.2 用户自定义聚合函数UDAF10.10 Hive的权限控制10.10.1 角色的创建和删除10.10.2 角色的授权和撤销10.10.3 超级管理员权限10.11 应用实例:使用JDBC开发Hive程序10.11.1 准备测试数据10.11.2 代码实现10.12 本章小结第11章 开源数据库HBase11.1 认识HBase11.1.1 HBase的特点11.1.2 HBase访问接口11.1.3 HBase存储结构11.1.4 HBase存储格式11.2 HBase设计11.2.1 逻辑视图11.2.2 框架结构及流程11.2.3 Table和Region的关系11.2.4 -ROOT-表和.META.表11.3 关键算法和流程11.3.1 Region定位11.3.2 读写过程11.3.3 Region分配11.3.4 RegionServer上线和下线11.3.5 Master上线和下线11.4 HBase安装11.4.1 HBase单机安装11.4.2 HBase分布式安装11.5 HBase的Shell操作11.5.1 一般操作11.5.2 DDL操作11.5.3 DML操作11.5.4 HBaseShell脚本11.6 HBase客户端11.6.1 JavaAPI交互11.6.2 MapReduce操作HBase11.6.3 向HBase中写入数据11.6.4 读取HBase中的数据11.6.5 Avro、REST和Thrift接口11.7 本章小结第12章 Mahout算法12.1 Mahout的使用12.1.1 安装Mahout12.1.2 运行一个Mahout案例12.2 Mahout数据表示12.2.1 偏好Perference类12.2.2 数据模型DataModel类12.2.3 Mahout链接MySQL数据库12.3 认识Taste框架12.4 Mahout推荐器12.4.1 基于用户的推荐器12.4.2 基于项目的推荐器12.4.3 SlopeOne推荐策略12.5 推荐系统12.5.1 个性化推荐12.5.2 商品推荐系统案例12.6 本章小结附录A Hive内置操作符与函数附录B HBase默认配置解释附录C Hadoop三个配置文件的参数含义说明

内容摘要:

资深Hadoop技术专家撰写,从开发者角度对Hadoop分布式文件系统、Hadoop文件I/O、Hive、HBase、Mahout,以及MapReduce的工作原理、编程方法和高级应用进行系统深入的讲解  内容细致,包含大量用于实际生产环境中的案例,实战性强 本书由资深Hadoop技术专家撰写,系统、全面、深入地讲解了Hadoop开发者需要掌握的技术和知识,包括HDFS的原理和应用、Hadoop文件I/O的原理和应用、MapReduce的原理和高级应用、MapReduce的编程方法和技巧,以及Hive、HBase和Mahout等技术和工具的使用。并且提供大量基于实际生产环境的案例,实战性非常强。  全书一共12章。第1~2章详细地介绍了Hadoop的生态系统、关键技术以及安装和配置;第3章是MapReduce的使用入门,让读者了解整个开发过程;第4~5章详细讲解了分布式文件系统HDFS和Hadoop的文件I/O;第6章分析了MapReduce的工作原理;第7章讲解了如何利用Eclipse来编译Hadoop的源代码,以及如何对Hadoop应用进行测试和调试;第8~9章细致地讲解了MapReduce的开发方法和高级应用;第10~12章系统地讲解了Hive、HBase和Mahout。【作者简介】刘刚 毕业于大连理工大学,资深Hadoop技术专家,对HDFS、MapReduce、HBase、Hive、Mahout、Storm等Hadoop生态系统中的技术有比较深入的研究,在Hadoop开发和运维方面积累了丰富的经验。开源框架EasyHDFSWeb和EasyHDFSControl的作者。在我国Hadoop技术圈内非常活跃,经常在各种会议和沙龙上做技术分享,深受欢迎。曾就职于国内最大CDN厂商蓝汛,担任Hadoop高级工程师开,现就职于高德软件。在北京大学软件所负责“核高基”的8-6课题,以及高性能企业级应用服务器的开发(PKUAS2010),精通Java语言、Java EE、EJB等Java技术。

书籍规格:

书籍详细信息
书名Hadoop应用开发技术详解站内查询相似图书
丛书名大数据技术丛书
9787111452447
如需购买下载《Hadoop应用开发技术详解》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位机械工业出版社
版次1版印次1
定价(元)79.0语种简体中文
尺寸19 × 24装帧平装
页数 428 印数 4000

书籍信息归属:

Hadoop应用开发技术详解是机械工业出版社于2014.1出版的中图分类号为 TP274 的主题关于 数据处理软件-程序设计 的书籍。