
| 本书从Hadoop的缘起开始,由浅入深,结合理论和实践,全方位地介绍Hado叩这一高性能处理海量数据集的理想工具。 |
| Tom White从2007年2月以来,一直担任Apache Hadoop项目负责人。他是Apache软件基金会的成员之一,同时也是Cloudera的一名工程师。Tome为O’Reilly.com,Java.net以及IBM的developerWorks撰写过大量文章,并经常在很多行业大会上举行Hadoop主题演讲。. Cloudera为Hadoop提供商业支持并志愿贡献社区,不收取任何费用。不管是打算在云中运行Hadoop,还是在自己的服务器上运行Hadoop,Cloudera都能使其轻松实现。详情访问http://www.cloudear.com/hadoop。... .. << 查看详细 |
| 目 录 第1章 初识hadoop1 1.1 数据!数据1 1.2 数据的存储和分析3 1.3 相较于其他系统4 1.3.1 关系型数据库管理系统5 1.3.2 网格计算6 1.3.3 志愿计算8 1.4 hadoop发展简史9 1.5 apache hadoop项目12 第2章 mapreduce简介15 2.1 一个气象数据集15 2.2 使用unix tools来分析数据17 2.3 使用hadoop进行数据分析19 2.3.1 map和reduce19 2.3.2 java mapreduce20 2.4 分布化30 2.4.1 数据流30 2.4.2 具体定义一个combiner34 2.4.3 运行分布式mapreduce作业35 .2.5 hadoop流35 2.5.1 ruby语言36 2.5.2 python38 2.6 hadoop管道40 第3章 hadoop分布式文件系统44 3.1 hdfs的设计44 3.2 hdfs的概念45 3.2.1 块45 3.2.2 名称节点与数据节点47 3.3 命令行接口48 3.4 hadoop文件系统50 3.5 java接口54 3.5.1 从hadoop url中读取数据54 3.5.2 使用filesystem api读取数据56 3.5.3 写入数据59 3.5.4 目录62 3.5.5 查询文件系统62 3.5.6 删除数据67 3.6 数据流68 3.6.1 文件读取剖析68 3.6.2 文件写入剖析71 3.6.3 一致模型73 3.7 通过distcp进行并行复制75 3.9 hadoop归档文件77 3.9.1 使用hadoop archives77 3.8.2 不足79 第4章 hadoop的i/o80 4.1 数据完整性80 4.1.1 hdfs的数据完整性81 4.1.2 本地文件系统82 4.1.3 checksumfilesystem82 4.2 压缩83 4.2.1 编码/解码器84 4.2.2 压缩和输入分割89 4.2.3 在mapreduce中使用压缩90 4.3 序列化92 4.3.1 writable接口93 4.3.2 writeable类96 4.3.3 实现自定义的writable104 4.3.4 序列化框架109 4.4 基于文件的数据结构111 4.4.1 sequencefile类112 4.4.2 mapfile120 第5章 mapreduce应用开发125 5.1 api的配置126 5.1.1 合并资源127 5.1.2 各种扩展形式128 5.2 配置开发环境128 5.2.1 配置的管理129 5.2.2 genericoptionsparser,tool和toolrunner131 5.3 编写单元测试134 5.3.1 mapper135 5.3.2 reducer137 5.4 本地运行测试数据138 5.4.1 在本地作业运行器上运行作业139 5.4.2 测试驱动程序142 5.5 在集群上运行144 5.5.1 打包144 5.5.2 启动作业144 5.5.3 mapreduce网络用户界面146 5.5.4 获取结果150 5.5.4 调试作业151 5.5.5 使用远程调试器157 5.6 作业调优159 5.7 mapreduce的工作流162 5.7.1 将问题分解成mapreduce作业163 5.7.2 运行独立的作业164 第6章 mapreduce的工作原理166 6.1 运行mapreduce作业166 6.1.1 提交作业166 6.1.2 作业的初始化168 6.1.3 任务的分配168 6.1.4 任务的执行169 6.1.5 进度和状态的更新170 6.1.6 作业的完成171 6.2 失败172 6.2.1 任务失败172 6.2.2 tasktracker失败174 6.2.3 jobtracker失败174 6.3 作业的调度174 6.4 shuffle和排序175 6.5.1 map端176 6.5.2 reduce端177 6.5.3 配置的调整178 6.6 任务的执行181 6.6.1 推测式执行181 6.6.2 任务jvm重用183 6.6.3 跳过坏记录184 6.6.4 任务执行环境185 第7章 mapreduce的类型与格式188 7.1 mapreduce类型188 7.2 输入格式198 7.2.1 输入分片与记录198 7.2.2 文本输入210 7.2.3 二进制输入214 7.2.4 多种输入215 7.2.5 数据库格式的输入/输出216 7.3 输出格式217 7.3.1 文本输出217 7.3.2 二进制输出218 7.3.3 多个输出218 7.3.4 延迟输出226 7.3.5 数据库输出226 第8章 mapreduce 特性227 8.1 计数器227 8.1.1 内置计数器227 8.1.2 用户自定义java计数器230 8.1.3 用户自定义流计数器235 8.2 排序235 8.2.1 准备235 8.2.2 部分排序237 8.2.3 全局排序242 8.2.4 二次排序246 8.3 联接252 8.3.1 map端联接253 8.3.2 reduce端联接254 8.4 次要数据的分布258 8.4.1 使用作业配置258 8.4.2 分布式缓存258 8.5 mapreduce的类库263 第9章 hadoop集群的安装264 9.1 集群说明264 9.2 集群的建立和安装268 9.2.1 安装java268 9.2.2 创建hadoop用户269 9.2.3 安装hadoop269 9.2.4 测试安装270 9.3 ssh配置270 9.4 hadoop配置271 9.4.1 配置管理271 9.4.2 环境设置274 9.4.3 重要的hadoop后台程序属性278 9.4.4 hadoop后台程序地址和端口283 9.4.5 其他hadoop属性284 9.5 安装之后286 9.6 hadoop集群基准测试286 9.6.1 hadoop基准测试287 9.6.2 用户作业290 9.7 云计算中的hadoop290 第10章 hadoop的管理293 10.1 hdfs293 10.1.1 持久化的数据结构293 10.1.2 安全模式298 10.1.3 审计日志300 10.1.4 工具300 10.2 监控306 10.2.1 日志306 10.2.2 度量307 10.2.3 java 管理扩展310 10.3 维护313 10.3.1 例行管理程序313 10.3.2 委托节点和撤消节点314 10.3.3 升级317 第11章 pig简介321 11.1 安装和运行pig322 11.1.1 执行类型322 11.1.2 运行pig程序324 11.1.3 grunt324 11.1.4 pig latin编辑器325 11.2 实例325 11.3 与数据库比较329 11.4 pig latin330 11.4.1 结构330 11.4.2 语句331 11.4.3 表达式334 11.4.4 类型335 11.4.5 模式337 11.4.6 函数341 11.5 用户定义函数343 11.5.1 过滤udf343 11.5.2 求值udf347 11.5.3 加载udf348 11.6 数据处理操作符353 11.6.1 加载和存储数据353 11.6.2 过滤数据353 11.6.3 数据的分组和联接356 11.6.4 数据的排序361 11.6.5 数据的合并和分割362 11.7 pig实践提示与技巧363 11.7.1 并行363 11.7.2 参数替换364 第12章 hbase简介366 12.1 hbase基础366 12.2 概念367 12.2.1 数据模型速览367 12.2.2 实现368 12.3 安装371 12.4 客户端374 12.4.1 java374 12.4.2 rest和thrift376 12.5 示例377 12.5.1 架构378 12.5.2 加载数据379 12.5.3. web查询382 12.6 hbase与rdbms的比较385 12.6.1 成功的服务386 12.6.2 hbase387 12.6.3 用例:streamy.com的hbase388 12.7 实践390 12.7.1 版本390 12.7.2 hbase和hdfs的爱与恨390 12.7.3 用户界面392 12.7.4 度量392 12.7.5 架构设计392 第13章 zookeeper简介394 13.1 zookeeper的安装和运行395 13.2 范例396 13.2.1 zookeeper中的组成员制397 13.2.2 创建组397 13.2.3 加入组400 13.2.4 列出组成员401 13.2.5 删除一个组404 13.3 zookeeper服务405 13.3.1 数据模型405 13.3.2 操作407 13.3.3 执行411 13.3.4 一致性412 13.3.5 会话414 13.3.6 状态416 13.4 使用zookeeper建立应用程序417 13.4.1 配置服务417 13.4.2 可恢复的zookeeper应用421 13.4.3 锁服务425 13.4.4 更多分布式数据结构和协议427 13.5 工业界中的zookeeper428 13.5.1 恢复力及性能428 13.5.2 配置429 第14章 案例研究431 14.1 hadoop在last.fm的应用431 14.1.1 last.fm:社会音乐革命431 14.1.2 使用hadoop生成排行榜432 14.1.3 单曲统计程序433 14.1.4 小结440 14.2 hadoop和hive在facebook的应用441 14.2.1 简介441 14.2.2 hadoop在facebook的应用441 14.2.3 虚拟案例研究444 14.2.4 hive446 14.2.5 存在的问题及未来的工作450 14.3 hadoop在nutch搜索引擎451 14.3.1 背景451 14.3.2 数据结构453 14.3.3 nutch中hadoop数据处理精选实例455 14.3.4 小结465 14.4 hadoop用于rackspace的日志处理466 14.4.1 需求/存在的问题466 14.4.2 简史467 14.4.3 选择hadoop467 14.4.4 收集和存储467 14.4.5 日志的mapreduce468 14.5 cascading项目474 14.5.1 字段、元组和管道475 14.5.2 操作477 14.5.3 tap、sheme和flow479 14.5.4 cascading实践480 14.5.5 灵活性483 14.5.6 hadoop和cascading在sharethis的应用484 14.5.7 小结487 14.6 apache hadoop的1 tb排序488 附录a apache hadoop的安装491 附录b cloudera的hadoop分发包497 附录c 预备ncdc气象资料502 |
商品评论(0条)