展开全部

主编推荐语

系统、全面、深入讲解hadoop开发者需要掌握的技术和知识。

内容简介

本书由资深hadoop技术专家撰写,内容包括hdfs的原理和应用、hadoop文件i/o的原理和应用、mapreduce的原理和高级应用、mapreduce的编程方法和技巧,以及hive、hbase和mahout等技术和工具的使用。并且提供大量基于实际生产环境的案例,实战性非常强。

目录

  • 版权信息
  • 前言
  • 第1章 Hadoop概述
  • 1.1 Hadoop起源
  • 1.1.1 Google与Hadoop模块
  • 1.1.2 为什么会有Hadoop
  • 1.1.3 Hadoop版本介绍
  • 1.2 Hadoop生态系统
  • 1.3 Hadoop常用项目介绍
  • 1.4 Hadoop在国内的应用
  • 1.5 本章小结
  • 第2章 Hadoop安装
  • 2.1 Hadoop环境安装配置
  • 2.1.1 安装VMware
  • 2.1.2 安装Ubuntu
  • 2.1.3 安装VMware Tools
  • 2.1.4 安装JDK
  • 2.2 Hadoop安装模式
  • 2.2.1 单机安装
  • 2.2.2 伪分布式安装
  • 2.2.3 分布式安装
  • 2.3 如何使用Hadoop
  • 2.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 认识HDFS
  • 4.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 Java API接口
  • 4.7.1 Hadoop URL读取数据
  • 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 维护HDFS
  • 4.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转换为MapFile
  • 5.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 数据序列化系统Avro
  • 5.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 可分割压缩LZO
  • 5.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端的Shuffle
  • 6.5.2 Reduce端的Shuffle
  • 6.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 新建一个Hadoop location
  • 7.2.3 Hadoop插件操作HDFS
  • 7.2.4 运行MapReduce的驱动类
  • 7.3 MapReduce的Debug调试
  • 7.3.1 进入Debug运行模式
  • 7.3.2 Debug调试具体操作
  • 7.4 单元测试框架MRUnit
  • 7.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端Join
  • 9.3.2 Map端Join
  • 9.3.3 半连接Semi Join
  • 9.4 MapReduce从MySQL读写数据
  • 9.4.1 读数据
  • 9.4.2 写数据
  • 9.5 Hadoop系统调优
  • 9.5.1 小文件优化
  • 9.5.2 Map和Reduce个数设置
  • 9.6 本章小结
  • 第10章 数据仓库工具Hive
  • 10.1 认识Hive
  • 10.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 外部JOIN
  • 10.6.4 Map端JOIN
  • 10.6.5 JOIN中处理NULL值的语义区别
  • 10.7 Hive优化策略
  • 10.7.1 列裁剪
  • 10.7.2 Map Join操作
  • 10.7.3 Group By操作
  • 10.7.4 合并小文件
  • 10.8 Hive内置操作符与函数
  • 10.8.1 字符串函数
  • 10.8.2 集合统计函数
  • 10.8.3 复合类型操作
  • 10.9 Hive用户自定义函数接口
  • 10.9.1 用户自定义函数UDF
  • 10.9.2 用户自定义聚合函数UDAF
  • 10.10 Hive的权限控制
  • 10.10.1 角色的创建和删除
  • 10.10.2 角色的授权和撤销
  • 10.10.3 超级管理员权限
  • 10.11 应用实例:使用JDBC开发Hive程序
  • 10.11.1 准备测试数据
  • 10.11.2 代码实现
  • 10.12 本章小结
  • 第11章 开源数据库HBase
  • 11.1 认识HBase
  • 11.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 Region Server上线和下线
  • 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 HBase Shell脚本
  • 11.6 HBase客户端
  • 11.6.1 Java API交互
  • 11.6.2 MapReduce操作HBase
  • 11.6.3 向HBase中写入数据
  • 11.6.4 读取HBase中的数据
  • 11.6.5 Avro、REST和Thrift接口
  • 11.7 本章小结
  • 第12章 Mahout算法
  • 12.1 Mahout的使用
  • 12.1.1 安装Mahout
  • 12.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 Slope One推荐策略
  • 12.5 推荐系统
  • 12.5.1 个性化推荐
  • 12.5.2 商品推荐系统案例
  • 12.6 本章小结
  • 附录A Hive内置操作符与函数
  • A.1 关系运算
  • A.2 逻辑运算与数学运算
  • A.3 Hive逻辑运算
  • A.4 数值运算
  • A.5 日期函数
  • A.6 条件函数
  • A.7 字符串函数
  • A.8 集合统计函数
  • A.9 符合类型构建操作
  • A.10 复杂类型访问操作
  • A.11 复杂类型长度统计函数
  • 附录B HBase默认配置解释
  • 附录C Hadoop三个配置文件的参数含义说明
  • C.1 常用的端口配置
  • C.2 集群目录配置
展开全部

评分及书评

评分不足
1个评分

出版方

机械工业出版社有限公司

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。