科技
类型
6.0
豆瓣评分
可以朗读
语音朗读
398千字
字数
2014-01-01
发行日期
展开全部
主编推荐语
系统、全面、深入讲解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 集群目录配置
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。