首页>参考读物>计算机科学与技术>软件与程序设计

Hadoop应用开发技术详解
作者 : 刘刚 著
丛书名 : 大数据技术丛书
出版日期 : 2014-01-14
ISBN : 978-7-111-45244-7
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 420
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书又资深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技术很好地解决了海量数据存储和分析问题,短短几年,80%左右的大中型互联网公司开始使用Hadoop技术,银行、电信等传统行业也开始做相关的分析和调研。
Hadoop技术涉及的知识点较多,专业性较强,所以学习的曲线比较陡峭。本书作者在Hadoop开发和运维领域有近4年经验,对Hadoop技术人员学习过程中可能会遇到的问题有一定了解,在此基础上写了这本书,旨在帮助广大读者更快、更好地学习Hadoop技术。

本书主要内容
Hadoop生态系统、常用项目及应用;
Hadoop的安装和配置;
MapReduce的开发流程、方法和技巧;
MapReduce的工作原理和高级应用;
HDFS和Hadoop文件I/O的原理及应用;
MapReduce应用的测试与调试,以及源代码的编译;
数据仓库工具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的时候, Hadoop在国内还没有普及,学习的资料也是少之又少,只能看英文文档一步一步操作,出现错误只能自己解决或者查看英文资料,有时候一个问题好几天才解决,学习起来非常的麻烦。
  古时候,人们用牛来拉重物,当一头牛拉不动一根圆木的时候,他们不曾想过培育更强壮的牛。同样,我们也不需要尝试更大的计算机,而是应该开发更多的计算系统。简单说,数据量越来越大,我们的大型机负担不了,因此集群就产生了,而Hadoop就是为分布式计算和分布式存储而诞生的。最近两年,随着互联网的快速发展,公司的日志量成数量级增长,从而导致使用Hadoop的公司也越来越多,Hadoop人才也就越来越供不应求,尤其是有丰富工作经验的人才。
  在开源的Hadoop社区里,很多人问我怎么学习Hadoop,学习Hadoop需要什么样的基础,如何才能成为一个Hadoop的技术大牛。为了帮助更多的人,我决定写本书,将我对Hadoop的理解和实战经验与大家分享。希望帮助读者在学习Hadoop的道路上少走弯路,避免一些不必要的时间付出。
读者对象
  本书适合以下读者阅读。
  大数据爱好者
  Hadoop入门者
  海量数据处理的从业人员
  有Java基础,想学习Hadoop的开发者
  Hive、HBase和Mahout的爱好者
  具有1~3年使用Hadoop经验,想进一步提高能力的使用者
  开设相关课程的大专院校
如何阅读本书
  本书共12章。
  第1章是Hadoop概述,互联网时代什么最重要——数据!大数据时代什么工具最流行——Hadoop!本章主要从大体上介绍Hadoop,让读者对Hadoop有个大体的印象。
  第2章主要是对Hadoop安装进行一步一步地详解,包括Hadoop的单机模式、伪分布式模式以及分布式模式,让读者了解Hadoop的安装过程。
  第3章是MapReduce快速入门,通过一个实例介绍MapReduce开发的整个过程。包括环境的准备、Mapper和Reducer代码的编写、打包、部署和运行的一整套流程。这套流程对以后MapReduce的开发奠定了基础。此外,介绍了MapReduce开发遇到的常见错误,以及解决方法。
  第4章本章详细讲解了Hadoop分布式文件系统(HDFS),让读者对HDFS有一个全面的了解。HDFS是Hadoop里面的一个核心组件,任何基于Hadoop应用的工具都要用到HDFS,学习本章对Hadoop系统的维护有很大的帮助。
  第5章本章主要讲Hadoop I/O底层的知识,让读者了解Hadoop底层的一些原理,比如数据在Hadoop上是怎么传输的。学完这章对Hadoop的输入和输出、序列化和反序列化、Writable类型等有进一步的理解。
  第6章主要介绍MapReduce的工作原理,讲解了JobTracker、TaskTracker、任务的调度、任务工作的原理以及MapReduce的Shuffle和Sort机制等,此外还介绍第二代MapReduce(YARN)。通过本章内容的学习,将会对日后MapReduce编程开发奠定基础。
  第7章主要介绍三部分内容,Eclipse的MapReduce插件安装、利用插件调试MapReduce代码,以及MapReduce单元测试。目的是提高读者编写MapReduce的调试、测试的效率。选择和使用一个好的工具是项目成功的一半。
  第8章详细讲解了MapReduce编程开发用到的知识点,如Combiner、Partitioner、DistributedCache等。全面介绍了Mapper和Reducer两个抽象类,最后介绍了如何使用Hadoop Streaming接口开发MapReduce程序。
  第9章介绍了MapReduce的一些高级应用、算法等知识点,算是对第8章学的知识进行应用,本章内容是MapReduce开发和Hadoop系统调优常用的知识点,希望读者能够掌握,为MapReduce的算法开发和调优打下基础。
  第10章对Hive的知识点和使用做了介绍。Hive是基于Hadoop的一个数据仓库,支持类似SQL语句来替代MapReduce,这使不会写代码的数据分析师也能利用Hadoop平台对海量数据进行分析,如DBA。Hive工具现在已经非常成熟,使用的人也越来越多。
  第11章介绍了HBase的安装和Shell操作、MapReduce操作HBase等。HBase是一个基于列存储的NoSQL数据库,不同于一般的NoSQL数据库,HBase是一个适合于非结构化数据存储的数据库。
  第12章介绍了Mahout算法框架的安装和使用。本章介绍的常用知识是入门的最佳实战。Mahout是非常优秀的基于MapReduce的算法框架。Mahout工具在商品推荐、电影推荐、广告推荐等领域应用非常广泛。
  附录A为Hive内置操作符与函数。附录B为HBase 默认配置解释。附录C为Hadoop三个配置文件的参数含义说明。
  其中第8章和第9章侧重于Java开发MapReduce的用户,如果你是一名有经验的Hadoop用户,并且想学习MapReduce开发,可以直接阅读这两章的内容。但是如果你是一名初学者,请一定从第1章的基础理论知识开始学习。
勘误和支持
  除封面署名外,参加本书编写工作的还有:向磊、艾男、曾泽、胡畔、郭洁、童小军、王虎、李晋博、林斌、闫越等。  由于作者的水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。书中的全部源文件可以从华章网站下载,我也会定期将相应的功能更新及时更正出来。可以将书中的错误和遇到的任何问题,发邮件到jaylg2010@gmail.com。如果你有更多的宝贵意见,也欢迎发送邮件,期待能够得到你们的真挚反馈。
致谢
  首先要感谢Doug Cutting,他开创了一款影响整个互联网领域的开源平台——Hadoop。
  感谢机械工业出版社华章分社的杨福川老师,在这一年多的时间始终支持我的写作,你的鼓励和帮助引导我顺利完成全部书稿。感谢编辑白宇对稿件的认真修改,你提出的一些写书注意事项,让我受益匪浅。
  感谢胡畔老师对我的支持和鼓励。
  最后感谢我的爸爸、妈妈,感谢你们将我培养成人,并时时刻刻为我灌输着信心和力量!
  谨以此书献给我最亲爱的家人,以及众多热爱Hadoop的朋友们!

上架指导

计算机\程序设计

封底文字

随着大数据时代的到来,企业的数据量呈指数级增长,对海量数据的存储和分析能力是是一个企业是否能适应这个时代的一个重要标志,也是企业面临的一个挑战,尤其是互联网企业。Hadoop技术很好地解决了海量数据存储和分析问题,短短几年,80%左右的大中型互联网公司都开始使用Hadoop技术,银行和电信等传统行业也开始在做相关的分析和调研。
因为Hadoop技术涉及的知识点比较多,而且专业性比较强,所以学习的曲线比较陡峭。本书作者在Hadoop开发和运维领域有近4年的经验,积累了丰富的经验,同时也对Hadoop技术人员学习过程中可能会遇到的问题有一定的了解,在此基础上写了这本书,旨在帮助广大读者更快、更好地学习Hadoop技术。
本书主要内容:
(1) Hadoop的生态系统、常用技术,及其安装和配置;
(2) MapReduce的开发流程、方法和技巧,
(3) MapReduce的工作原理和高级应用;
(4) HDFS和Hadoop文件I/O的原理及应用;
(5) MapReduce应用的测试与调试,以及源代码的编译;
(6) 数据仓库工具Hive和数据库HBase的原理和应用;
(7) Mahout算法框架的使用;
……

作者简介

刘刚 著:资深Hadoop技术工程师,对Hadoop整个生态系统的技术都有比较深入的研究,尤其精通HDFS和Hadoop应用开发相关的技术。国内最活跃Hadoop社区Easyhadoop的核心人物和讲师,开源框架EasyHDFSWeb和EasyHDFSControl的作者。就职于国内最大CDN厂商,北京蓝汛通信技术有限责任公司,作为Hadoop高级工程师开发了ChinaCache 日志分析系统,系统承担每日几十TB的更新量,运算量和hadoop集群的维护。在海量数据分析和处理领域积累了丰富经验。




图书目录

前 言
第1章 Hadoop概述 / 1
1.1 Hadoop起源 / 1
1.1.1 Google与Hadoop模块 / 1
1.1.2 为什么会有Hadoop / 1
1.1.3 Hadoop版本介绍 / 2
1.2 Hadoop生态系统 / 3
1.3 Hadoop常用项目介绍  / 4
1.4 Hadoop在国内的应用 / 6
1.5 本章小结 / 7
第2章 Hadoop安装 / 8
2.1 Hadoop环境安装配置 / 8
2.1.1 安装VMware / 8
2.1.2 安装Ubuntu  / 8
2.1.3 安装VMware Tools / 15
2.1.4 安装JDK  / 15
2.2 Hadoop 安装模式 / 16
2.2.1 单机安装 / 17
2.2.2 伪分布式安装 / 18
2.2.3 分布式安装 / 20
2.3 如何使用Hadoop / 27
2.3.1 Hadoop的启动与停止 / 27
2.3.2 Hadoop配置文件 / 28
2.4 本章小结 / 28
第3章 MapReduce快速入门 / 30
3.1 WordCount 实例准备开发环境 / 30
3.1.1 使用Eclipse创建一个Java工程 / 30
3.1.2 导入Hadoop的JAR文件 / 31
3.2 MapReduce代码的实现 / 32
3.2.1 编写WordMapper类 / 32
3.2.2 编写WordReducer类 / 33
3.2.3 编写WordMain驱动类 / 34
3.3 打包、部署和运行 / 35
3.3.1 打包成JAR文件 / 35
3.3.2 部署和运行 / 36
3.3.3 测试结果 / 38
3.4 本章小结 / 39
第4章 Hadoop分布式文件系统详解 / 40
4.1 认识HDFS / 40
4.1.1 HDFS的特点 / 40
4.1.2 Hadoop文件系统的接口 / 45
4.1.3 HDFS的Web服务 / 46
4.2 HDFS架构 / 46
4.2.1 机架 / 47
4.2.2 数据块 / 47
4.2.3 元数据节点 / 48
4.2.4 数据节点 / 50
4.2.5 辅助元数据节点 / 50
4.2.6 名字空间 / 52
4.2.7 数据复制 / 53
4.2.8 块备份原理 / 53
4.2.9 机架感知 / 54
4.3 Hadoop的RPC机制 / 55
4.3.1 RPC的实现流程 / 56
4.3.2 RPC的实体模型 / 56
4.3.3 文件的读取 / 57
4.3.4 文件的写入 / 58
4.3.5 文件的一致模型 / 59
4.4 HDFS的HA机制 / 59
4.4.1 HA集群 / 59
4.4.2 HA架构 / 60
4.4.3 为什么会有HA机制 / 61
4.5 HDFS的Federation机制 / 62
4.5.1 单个NameNode的HDFS架构的局限性 / 62
4.5.2 为什么引入Federation机制 / 63
4.5.3 Federation架构 / 64
4.5.4 多个名字空间的管理问题 / 65
4.6 Hadoop文件系统的访问 / 66
4.6.1 安全模式 / 66
4.6.2 HDFS的Shell访问 / 67
4.6.3 HDFS处理文件的命令 / 67
4.7 Java API接口 / 72
4.7.1 Hadoop URL读取数据 / 73
4.7.2 FileSystem类 / 73
4.7.3 FileStatus类 / 75
4.7.4 FSDataInputStream类 / 77
4.7.5 FSDataOutputStream类 / 81
4.7.6 列出HDFS下所有的文件 / 83
4.7.7 文件的匹配 / 84
4.7.8 PathFilter对象 / 84
4.8 维护HDFS / 86
4.8.1 追加数据 / 86
4.8.2 并行复制 / 88
4.8.3 升级与回滚 / 88
4.8.4 添加节点 / 90
4.8.5  删除节点 / 91
4.9 HDFS权限管理 / 92
4.9.1 用户身份 / 92
4.9.2 权限管理的原理 / 93
4.9.3 设置权限的Shell命令 / 93
4.9.4 超级用户 / 93
4.9.5  HDFS权限配置参数 / 94
4.10 本章小结 / 94
第5章 Hadoop 文件 I/O 详解 / 95
5.1 Hadoop文件的数据结构 / 95
5.1.1 SequenceFile 存储 / 95
5.1.2 MapFile存储 / 99
5.1.3 SequenceFile转换为MapFile / 101
5.2 HDFS数据完整性 / 103
5.2.1 校验和 / 103
5.2.2 数据块检测程序 / 104
5.3 文件序列化 / 106
5.3.1 进程间通信对序列化的要求 / 106
5.3.2 Hadoop文件的序列化 / 107
5.3.3 Writable接口 / 107
5.3.4 WritableComparable接口 / 108
5.3.5 自定义Writable接口 / 109
5.3.6 序列化框架 / 113
5.3.7 数据序列化系统Avro / 114
5.4 Hadoop的Writable类型 / 115
5.4.1 Writable类的层次结构 / 115
5.4.2 Text类型 / 116
5.4.3 NullWritable类型 / 117
5.4.4 ObjectWritable类型 / 117
5.4.5 GenericWritable类型 / 117
5.5 文件压缩 / 117
5.5.1 Hadoop支持的压缩格式 / 118
5.5.2 Hadoop中的编码器和解码器 / 118
5.5.3 本地库 / 121
5.5.4 可分割压缩 LZO / 122
5.5.5 压缩文件性能比较 / 122
5.5.6 Snappy压缩 / 124
5.5.7 gzip、LZO和Snappy比较 / 124
5.6 本章小结 / 125
第6章 MapReduce工作原理 / 126
6.1  MapReduce的函数式编程概念 / 126
6.1.1 列表处理 / 126
6.1.2 Mapping数据列表 / 127
6.1.3 Reducing数据列表 / 127
6.1.4 Mapper和Reducer如何工作 / 128
6.1.5 应用实例:词频统计 / 129
6.2 MapReduce框架结构 / 129
6.2.1 MapReduce模型 / 130
6.2.2 MapReduce框架组成 / 130
6.3 MapReduce运行原理 / 132
6.3.1 作业的提交 / 132
6.3.2 作业初始化 / 134
6.3.3 任务的分配 / 136
6.3.4 任务的执行 / 136
6.3.5 进度和状态的更新 / 136
6.3.6 MapReduce的进度组成 / 137
6.3.7 任务完成 / 137
6.4 MapReduce容错 / 137
6.4.1 任务失败 / 138
6.4.2 TaskTracker失败 / 138
6.4.3 JobTracker失败 / 138
6.4.4 子任务失败 / 138
6.4.5 任务失败反复次数的处理方法 / 139
6.5 Shuffle阶段和Sort阶段 / 139
6.5.1 Map端的Shuffle / 140
6.5.2 Reduce端的Shuffle / 142
6.5.3 Shuffle过程参数调优 / 143
6.6 任务的执行 / 144
6.6.1 推测执行 / 144
6.6.2 任务JVM重用 / 145
6.6.3 跳过坏的记录 / 145
6.6.4 任务执行的环境 / 146
6.7 作业调度器 / 146
6.7.1 先进先出调度器 / 146
6.7.2 容量调度器 / 146
6.7.3 公平调度器 / 149
6.8 自定义Hadoop调度器 / 153
6.8.1 Hadoop调度器框架 / 153
6.8.2 编写Hadoop调度器 / 155
6.9 YARN介绍 / 157
6.9.1 异步编程模型 / 157
6.9.2 YARN支持的计算框架 / 158
6.9.3 YARN架构 / 158
6.9.4 YARN工作流程 / 159
6.10 本章小结 / 160
第7章 Eclipse插件的应用 / 161
7.1 编译Hadoop源码 / 161
7.1.1 下载Hadoop源码 / 161
7.1.2 准备编译环境 / 161
7.1.3 编译common组件 / 162
7.2 Eclipse安装MapReduce插件 / 166
7.2.1 查找MapReduce插件 / 166
7.2.2 新建一个Hadoop location / 167
7.2.3 Hadoop插件操作HDFS / 168
7.2.4 运行MapReduce的驱动类 / 170
7.3 MapReduce的Debug调试 / 171
7.3.1 进入Debug运行模式 / 171
7.3.2 Debug调试具体操作 / 172
7.4 单元测试框架MRUnit / 174
7.4.1 认识MRUnit框架 / 174
7.4.2 准备测试案例 / 174
7.4.3 Mapper单元测试 / 176
7.4.4 Reducer单元测试 / 177
7.4.5 MapReduce单元测试 / 178
7.5 本章小结 / 179
第8章 MapReduce编程开发 / 180
8.1 WordCount案例分析  / 180
8.1.1 MapReduce工作流程 / 180
8.1.2 WordCount的Map过程 / 181
8.1.3 WordCount的Reduce过程 / 182
8.1.4 每个过程产生的结果 / 182
8.1.5 Mapper抽象类 / 184
8.1.6 Reducer抽象类 / 186
8.1.7 MapReduce驱动 / 188
8.1.8 MapReduce最小驱动 / 189
8.2 输入格式 / 193
8.2.1 InputFormat接口 / 193
8.2.2 InputSplit类 / 195
8.2.3 RecordReader类 / 197
8.2.4 应用实例:随机生成100个小数并求最大值 / 198
8.3 输出格式 / 205
8.3.1 OutputFormat接口 / 205
8.3.2 RecordWriter类 / 206
8.3.3 应用实例:把首字母相同的单词放到一个文件里 / 206
8.4 压缩格式 / 211
8.4.1 如何在MapReduce中使用压缩 / 211
8.4.2 Map作业输出结果的压缩 / 212
8.5  MapReduce优化  / 212
8.5.1 Combiner类 / 212
8.5.2 Partitioner类 / 213
8.5.3 分布式缓存 / 217
8.6 辅助类 / 218
8.6.1 读取Hadoop配置文件 / 218
8.6.2 设置Hadoop的配置文件属性 / 219
8.6.3 GenericOptionsParser选项 / 220
8.7 Streaming接口 / 221
8.7.1 Streaming工作原理 / 221
8.7.2 Streaming编程接口参数 / 221
8.7.3 作业配置属性 / 222
8.7.4 应用实例:抓取网页的标题 / 223
8.8 本章小结 / 225
第9章 MapReduce 高级应用 / 226
9.1 计数器 / 226
9.1.1 默认计数器 / 226
9.1.2 自定义计数器 / 229
9.1.3 获取计数器 / 231
9.2 MapReduce二次排序 / 232
9.2.1 二次排序原理 / 232
9.2.2 二次排序的算法流程 / 233
9.2.3 代码实现 / 235
9.3 MapReduce中的Join算法 / 240
9.3.1 Reduce端Join / 240
9.3.2 Map端Join / 242
9.3.3 半连接Semi Join / 244
9.4 MapReduce从MySQL读写数据 / 244
9.4.1 读数据 / 245
9.4.2 写数据 / 248
9.5 Hadoop系统调优 / 248
9.5.1 小文件优化 / 249
9.5.2 Map和Reduce个数设置 / 249
9.6 本章小结 / 250
第10章 数据仓库工具Hive / 251
10.1 认识Hive / 251
10.1.1 Hive工作原理 / 251
10.1.2 Hive数据类型 / 252
10.1.3 Hive的特点 / 253
10.1.4 Hive下载与安装 / 255
10.2 Hive架构 / 256
10.2.1 Hive用户接口 / 257
10.2.2 Hive元数据库 / 259
10.2.3 Hive的数据存储 / 262
10.2.4 Hive解释器 / 263
10.3 Hive 文件格式 / 264
10.3.1 TextFile格式 / 265
10.3.2 SequenceFile 格式 / 265
10.3.3 RCFile文件格式 / 265
10.3.4 自定义文件格式 / 269
10.4 Hive操作 / 270
10.4.1 表操作 / 270
10.4.2 视图操作 / 278
10.4.3 索引操作 / 280
10.4.4 分区操作 / 283
10.4.5 桶操作 / 289
10.5 Hive复合类型 / 290
10.5.1 Struct类型 / 291
10.5.2 Array类型 / 292
10.5.3 Map类型 / 293
10.6 Hive的JOIN详解 / 294
10.6.1 JOIN操作语法 / 294
10.6.2 JOIN原理 / 294
10.6.3 外部JOIN / 295
10.6.4 Map端JOIN / 296
10.6.5 JOIN中处理NULL值的语义区别 / 296
10.7 Hive 优化策略 / 297
10.7.1 列裁剪 / 297
10.7.2 Map Join操作 / 297
10.7.3 Group By操作 / 298
10.7.4 合并小文件 / 298
10.8 Hive内置操作符与函数 / 298
10.8.1 字符串函数 / 299
10.8.2 集合统计函数 / 299
10.8.3 复合类型操作 / 301
10.9 Hive用户自定义函数接口 / 302
10.9.1 用户自定义函数UDF / 302
10.9.2 用户自定义聚合函数UDAF / 304
10.10 Hive的权限控制 / 306
10.10.1 角色的创建和删除 / 307
10.10.2 角色的授权和撤销 / 307
10.10.3 超级管理员权限 / 309
10.11 应用实例:使用 JDBC开发Hive 程序 / 311
10.11.1 准备测试数据 / 311
10.11.2 代码实现 / 311
10.12 本章小结 / 313
第11章 开源数据库HBase / 314
11.1 认识HBase / 314
11.1.1 HBase的特点 / 314
11.1.2 HBase访问接口 / 314
11.1.3 HBase存储结构 / 315
11.1.4 HBase存储格式 / 317
11.2 HBase设计 / 319
11.2.1 逻辑视图 / 320
11.2.2 框架结构及流程 / 321
11.2.3 Table和Region的关系 / 323
11.2.4 -ROOT-表和.META.表 / 323
11.3 关键算法和流程 / 324
11.3.1 Region定位 / 324
11.3.2 读写过程 / 325
11.3.3 Region分配 / 327
11.3.4 Region Server上线和下线 / 327
11.3.5 Master上线和下线 / 327
11.4 HBase安装 / 328
11.4.1 HBase单机安装 / 328
11.4.2 HBase分布式安装 / 330
11.5 HBase的Shell操作 / 334
11.5.1 一般操作 / 334
11.5.2 DDL操作 / 335
11.5.3 DML操作 / 337
11.5.4 HBase Shell脚本 / 339
11.6 HBase客户端 / 340
11.6.1 Java API交互 / 340
11.6.2 MapReduce操作HBase / 344
11.6.3 向HBase中写入数据  / 348
11.6.4 读取HBase中的数据 / 350
11.6.5 Avro、REST和Thrift接口 / 352
11.7 本章小结 / 353
第12章 Mahout算法 / 354
12.1 Mahout的使用 / 354
12.1.1 安装Mahout / 354
12.1.2 运行一个Mahout案例 / 354
12.2 Mahout数据表示 / 356
12.2.1 偏好Perference类 / 356
12.2.2 数据模型DataModel类 / 357
12.2.3 Mahout 链接MySQL数据库 / 358
12.3 认识Taste框架 / 360
12.4 Mahout推荐器 / 361
12.4.1 基于用户的推荐器 / 361
12.4.2 基于项目的推荐器 / 362
12.4.3 Slope One 推荐策略 / 363
12.5 推荐系统 / 365
12.5.1 个性化推荐 / 365
12.5.2 商品推荐系统案例 / 366
12.6 本章小结 / 370
附录A Hive内置操作符与函数 / 371
附录B HBase 默认配置解释 / 392
附录C Hadoop三个配置文件的参数含义说明 / 398

教学资源推荐
作者: (美)David Vandevoorde
作者: Harvey M.Deitel,Paul J.Deitel
作者: [美] 罗伯特·塞奇威克(Robert Sedgewick), 凯文·韦恩(Kevin Wayne), 罗伯特·唐德罗(Robert Dondero)著
作者: 刘博 董学文 等编著
参考读物推荐
作者: 郝冠军 著
作者: [印]V·基肖尔·阿耶德瓦拉(V Kishore Ayyadevara),[印]耶什万斯·雷迪(Yeshwanth Reddy) 著
作者: (美)Robert Clair 著