基本信息
名称: Hadoop实战(第2版)
作者信息: 作者: 陆嘉恒 [ 中文 pdf ]
简单介绍
《Hadoop实战(第2版)》编辑推荐:第1版广受好评,第2版基于Hadoop及其相关技术最新版本撰写,从多角度做了全面的修订和补充。不仅详细讲解了新一代的Hadoop技术,而且全面介绍了Hive、HBase、Mahout、Pig、ZooKeeper、Avro、Chukwa等重要技术,是系统学习Hadoop技术的首选之作。
目录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254
| 前言 第1章Hadoop简介1 1.1什么是Hadoop2 1.1.1Hadoop概述2 1.1.2Hadoop的历史2 1.1.3Hadoop的功能与作用2 1.1.4Hadoop的优势3 1.1.5Hadoop应用现状和发展趋势3 1.2Hadoop项目及其结构3 1.3Hadoop体系结构6 1.4Hadoop与分布式开发7 1.5Hadoop计算模型—MapReduce10 1.6Hadoop数据管理10 1.6.1HDFS的数据管理10 1.6.2HBase的数据管理12 1.6.3Hive的数据管理13 1.7Hadoop集群安全策略15 1.8本章小结17 第2章Hadoop的安装与配置19 2.1在Linux上安装与配置Hadoop20 2.1.1安装JDK1.620 2.1.2配置SSH免密码登录21 2.1.3安装并运行Hadoop22 2.2在MacOSX上安装与配置Hadoop24 2.2.1安装Homebrew24 2.2.2使用Homebrew安装Hadoop25 2.2.3配置SSH和使用Hadoop25 2.3在Windows上安装与配置Hadoop25 2.3.1安装JDK1.6或更高版本25 2.3.2安装Cygwin25 2.3.3配置环境变量26 2.3.4安装sshd服务26 2.3.5启动sshd服务26 2.3.6配置SSH免密码登录26 2.3.7安装并运行Hadoop26 2.4安装和配置Hadoop集群27 2.4.1网络拓扑27 2.4.2定义集群拓扑27 2.4.3建立和安装Cluster28 2.5日志分析及几个小技巧34 2.6本章小结35 第3章MapReduce计算模型36 3.1为什么要用MapReduce37 3.2MapReduce计算模型38 3.2.1MapReduceJob38 3.2.2Hadoop中的HelloWorld程序38 3.2.3MapReduce的数据流和控制流46 3.3MapReduce任务的优化47 3.4Hadoop流49 3.4.1Hadoop流的工作原理50 3.4.2Hadoop流的命令51 3.4.3两个例子52 3.5HadoopPipes54 3.6本章小结56 第4章开发MapReduce应用程序57 4.1系统参数的配置58 4.2配置开发环境60 4.3编写MapReduce程序60 4.3.1Map处理60 4.3.2Reduce处理61 4.4本地测试62 4.5运行MapReduce程序62 4.5.1打包64 4.5.2在本地模式下运行64 4.5.3在集群上运行64 4.6网络用户界面65 4.6.1JobTracker页面65 4.6.2工作页面65 4.6.3返回结果66 4.6.4任务页面67 4.6.5任务细节页面67 4.7性能调优68 4.7.1输入采用大文件68 4.7.2压缩文件68 4.7.3过滤数据69 4.7.4修改作业属性71 4.8MapReduce工作流72 4.8.1复杂的Map和Reduce函数72 4.8.2MapReduceJob中全局共享数据74 4.8.3链接MapReduceJob75 4.9本章小结77 第5章MapReduce应用案例79 5.1单词计数80 5.1.1实例描述80 5.1.2设计思路80 5.1.3程序代码81 5.1.4代码解读82 5.1.5程序执行83 5.1.6代码结果83 5.1.7代码数据流84 5.2数据去重85 5.2.1实例描述85 5.2.2设计思路86 5.2.3程序代码86 5.3排序87 5.3.1实例描述87 5.3.2设计思路88 5.3.3程序代码89 5.4单表关联91 5.4.1实例描述91 5.4.2设计思路92 5.4.3程序代码92 5.5多表关联95 5.5.1实例描述95 5.5.2设计思路96 5.5.3程序代码96 5.6本章小结98 第6章MapReduce工作机制99 6.1MapReduce作业的执行流程100 6.1.1MapReduce任务执行总流程100 6.1.2提交作业101 6.1.3初始化作业103 6.1.4分配任务104 6.1.5执行任务106 6.1.6更新任务执行进度和状态107 6.1.7完成作业108 6.2错误处理机制108 6.2.1硬件故障109 6.2.2任务失败109 6.3作业调度机制110 6.4Shuffle和排序111 6.4.1Map端111 6.4.2Reduce端113 6.4.3shuffle过程的优化114 6.5任务执行114 6.5.1推测式执行114 6.5.2任务JVM重用115 6.5.3跳过坏记录115 6.5.4任务执行环境116 6.6本章小结117 第7章HadoopIO操作118 7.1IO操作中的数据检查119 7.2数据的压缩126 7.2.1Hadoop对压缩工具的选择126 7.2.2压缩分割和输入分割127 7.2.3在MapReduce程序中使用压缩127 7.3数据的IO中序列化操作128 7.3.1Writable类128 7.3.2实现自己的Hadoop数据类型137 7.4针对Mapreduce的文件类139 7.4.1SequenceFile类139 7.4.2MapFile类144 7.4.3ArrayFile、SetFile和BloomMapFile146 7.5本章小结148 第8章下一代MapReduce:YARN149 8.1MapReduceV2设计需求150 8.2MapReduceV2主要思想和架构151 8.3MapReduceV2设计细节153 8.4MapReduceV2优势156 8.5本章小结156 第9章HDFS详解157 9.1Hadoop的文件系统158 9.2HDFS简介160 9.3HDFS体系结构161 9.3.1HDFS的相关概念161 9.3.2HDFS的体系结构162 9.4HDFS的基本操作164 9.4.1HDFS的命令行操作164 9.4.2HDFS的Web界面165 9.5HDFS常用JavaAPI详解166 9.5.1使用HadoopURL读取数据166 9.5.2使用FileSystemAPI读取数据167 9.5.3创建目录169 9.5.4写数据169 9.5.5删除数据171 9.5.6文件系统查询171 9.6HDFS中的读写数据流175 9.6.1文件的读取175 9.6.2文件的写入176 9.6.3一致性模型178 9.7HDFS命令详解179 9.7.1通过distcp进行并行复制179 9.7.2HDFS的平衡180 9.7.3使用Hadoop归档文件180 9.7.4其他命令183 9.8WebHDFS186 9.8.1WebHDFS的配置186 9.8.2WebHDFS命令186 9.9本章小结190 第10章Hadoop的管理191 10.1HDFS文件结构192 10.2Hadoop的状态监视和管理工具196 10.2.1审计日志196 10.2.2监控日志196 10.2.3Metrics197 10.2.4Java管理扩展199 10.2.5Ganglia200 10.2.6Hadoop管理命令202 10.3Hadoop集群的维护206 10.3.1安全模式206 10.3.2Hadoop的备份207 10.3.3Hadoop的节点管理208 10.3.4系统升级210 10.4本章小结212 第11章Hive详解213 11.1Hive简介214 11.1.1Hive的数据存储214 11.1.2Hive的元数据存储216 11.2Hive的基本操作216 11.2.1在集群上安装Hive216 11.2.2配置MySQL存储Hive元数据218 11.2.3配置Hive220 11.3HiveQL详解221 11.3.1数据定义(DDL)操作221 11.3.2数据操作(DML)231 11.3.3SQL操作233 11.3.4HiveQL使用实例235 11.4Hive网络(WebUI)接口237 11.4.1Hive网络接口配置237 11.4.2Hive网络接口操作实例238 11.5Hive的JDBC接口241 11.5.1Eclipse环境配置241 11.5.2程序实例241 11.6Hive的优化244 11.7本章小结246 第12章HBase详解247 12.1HBase简介248 12.2HBase的基本操作249 12.2.1HBase的安装249 12.2.2运行HBase253 12.2.3HBaseShell255 12.2.4HBase配置258 12.3HBase体系结构260 12.3.1HRegion260 12.3.2HRegion服务器261 12.3.3HBaseMaster服务器262 12.3.4ROOT表和META表262 12.3.5ZooKeeper263 12.4HBase数据模型263 12.4.1数据模型263 12.4.2概念视图264 12.4.3物理视图264 12.5HBase与RDBMS265 12.6HBase与HDFS266 12.7HBase客户端266 12.8JavaAPI267 12.9HBase编程273 12.9.1使用Eclipse开发HBase应用程序273 12.9.2HBase编程275 12.9.3HBase与MapReduce278 12.10模式设计280 12.10.1模式设计应遵循的原则280 12.10.2学生表281 12.10.3事件表282 12.11本章小结283 第13章Mahout详解284 13.1Mahout简介285 13.2Mahout的安装和配置285 13.3MahoutAPI简介288 13.4Mahout中的频繁模式挖掘290 13.4.1什么是频繁模式挖掘290 13.4.2Mahout中的频繁模式挖掘290 13.5Mahout中的聚类和分类292 13.5.1什么是聚类和分类292
|
亚马逊链接