展开全部

主编推荐语

翻开本书,带你了解什么是Hadoop,Hadoop是如何工作的,以及如何使用Hadoop从数据中提取有价值的信息,并用它解决大数据问题。

内容简介

揭开Hadoop的神秘面纱,它着重讲解了如何应用Hadoop和相关技术搭建工作系统并完成任务。在读者明白这些内容之后,又介绍了如何使用云服务完成相同任务。从Hadoop的基本概念和初始设置手,讲述了如何发Hadoop程序,如何在数据规模增长的时候维持系统运行,涵盖了有效使用Hadoop处理实际问题所需用到的全部知识。

目录

  • 版权信息
  • 前言
  • 第1章 绪论
  • 1.1 大数据处理
  • 1.1.1 数据的价值
  • 1.1.2 受众较少
  • 1.1.3 一种不同的方法
  • 1.1.4 Hadoop
  • 1.2 基于Amazon Web Services的云计算
  • 1.2.1 云太多了
  • 1.2.2 第三种方法
  • 1.2.3 不同类型的成本
  • 1.2.4 AWS:Amazon的弹性架构
  • 1.2.5 本书内容
  • 1.3 小结
  • 第2章 安装并运行Hadoop
  • 2.1 基于本地Ubuntu主机的Hadoop系统
  • 2.2 实践环节:检查是否已安装JDK
  • 2.2.1 安装Hadoop
  • 2.3 实践环节:下载Hadoop
  • 2.4 实践环节:安装SSH
  • 2.4.1 配置并运行Hadoop
  • 2.5 实践环节:使用Hadoop计算圆周率
  • 2.6 实践环节:配置伪分布式模式
  • 2.7 实践环节:修改HDFS的根目录
  • 2.8 实践环节:格式化NameNode
  • 2.9 实践环节:启动Hadoop
  • 2.10 实践环节:使用HDFS
  • 2.11 实践环节:MapReduce的经典入门程序——字数统计
  • 2.12 使用弹性MapReduce
  • 2.13 实践环节:使用管理控制台在EMR运行WordCount
  • 2.13.1 使用EMR的其他方式
  • 2.13.2 AWS生态系统
  • 2.14 本地Hadoop与EMR Hadoop的对比
  • 2.15 小结
  • 第3章 理解MapReduce
  • 3.1 键值对
  • 3.1.1 具体含义
  • 3.1.2 为什么采用键/值数据
  • 3.1.3 MapReduce作为一系列键/值变换
  • 3.2 MapReduce的Hadoop Java API
  • 3.3 编写MapReduce程序
  • 3.4 实践环节:设置classpath
  • 3.5 实践环节:实现WordCount
  • 3.6 实践环节:构建JAR文件
  • 3.7 实践环节:在本地Hadoop集群运行WordCount
  • 3.8 实践环节:在EMR上运行WordCount
  • 3.8.1 0.20之前版本的Java MapReduce API
  • 3.8.2 Hadoop提供的mapper和reducer实现
  • 3.9 实践环节:WordCount的简易方法
  • 3.10 查看WordCount的运行全貌
  • 3.10.1 启动
  • 3.10.2 将输入分块
  • 3.10.3 任务分配
  • 3.10.4 任务启动
  • 3.10.5 不断监视JobTracker
  • 3.10.6 mapper的输入
  • 3.10.7 mapper的执行
  • 3.10.8 mapper的输出和reducer的输入
  • 3.10.9 分块
  • 3.10.10 可选分块函数
  • 3.10.11 reducer类的输入
  • 3.10.12 reducer类的执行
  • 3.10.13 reducer类的输出
  • 3.10.14 关机
  • 3.10.15 这就是MapReduce的全部
  • 3.10.16 也许缺了combiner
  • 3.11 实践环节:使用combiner编写WordCount
  • 3.12 实践环节:更正使用combiner的WordCount
  • 3.13 Hadoop专有数据类型
  • 3.13.1 Writable和WritableComparable接口
  • 3.13.2 wrapper类介绍
  • 3.14 实践环节:使用Writable包装类
  • 3.15 输入/输出
  • 3.15.1 文件、split和记录
  • 3.15.2 InputFormat和RecordReader
  • 3.15.3 Hadoop提供的InputFormat
  • 3.15.4 Hadoop提供的RecordReader
  • 3.15.5 OutputFormat和RecordWriter
  • 3.15.6 Hadoop提供的OutputFormat
  • 3.15.7 别忘了Sequence files
  • 3.16 小结
  • 第4章 开发MapReduce程序
  • 4.1 使用非Java语言操作Hadoop
  • 4.1.1 Hadoop Streaming工作原理
  • 4.1.2 使用Hadoop Streaming的原因
  • 4.2 实践环节:使用Streaming实现WordCount
  • 4.3 分析大数据集
  • 4.3.1 获取UFO目击事件数据集
  • 4.3.2 了解数据集
  • 4.4 实践环节:统计汇总UFO数据
  • 4.5 实践环节:统计形状数据
  • 4.6 实践环节:找出目击事件的持续时间与UFO形状的关系
  • 4.7 实践环节:在命令行中执行形状/时间分析
  • 4.8 实践环节:使用ChainMapper进行字段验证/分析
  • 4.9 实践环节:使用Distributed Cache改进地点输出
  • 4.10 计数器、状态和其他输出
  • 4.11 实践环节:创建计数器、任务状态和写入日志
  • 4.12 小结
  • 第5章 高级MapReduce技术
  • 5.1 初级、高级还是中级
  • 5.2 多数据源联结
  • 5.2.1 不适合执行联结操作的情况
  • 5.2.2 map端联结与reduce端联结的对比
  • 5.2.3 匹配账户与销售信息
  • 5.3 实践环节:使用MultipleInputs实现reduce端联结
  • 5.3.1 实现map端联结
  • 5.3.2 是否进行联结
  • 5.4 图算法
  • 5.4.1 Graph 101
  • 5.4.2 图和MapReduce
  • 5.4.3 图的表示方法
  • 5.5 实践环节:图的表示
  • 5.6 实践环节:创建源代码
  • 5.7 实践环节:第一次运行作业
  • 5.8 实践环节:第二次运行作业
  • 5.9 实践环节:第三次运行作业
  • 5.10 实践环节:第四次也是最后一次运行作业
  • 5.10.1 运行多个作业
  • 5.10.2 关于图的终极思考
  • 5.11 使用语言无关的数据结构
  • 5.11.1 候选技术
  • 5.11.2 Avro简介
  • 5.12 实践环节:获取并安装Avro
  • 5.13 实践环节:定义模式
  • 5.14 实践环节:使用Ruby创建Avro源数据
  • 5.15 实践环节:使用Java语言编程操作Avro数据
  • 5.16 实践环节:在MapReduce中统计UFO形状
  • 5.17 实践环节:使用Ruby检查输出数据
  • 5.18 实践环节:使用Java检查输出数据
  • 5.19 小结
  • 第6章 故障处理
  • 6.1 故障
  • 6.1.1 拥抱故障
  • 6.1.2 至少不怕出现故障
  • 6.1.3 严禁模仿
  • 6.1.4 故障类型
  • 6.1.5 Hadoop节点故障
  • 6.2 实践环节:杀死DataNode进程
  • 6.3 实践环节:复制因子的作用
  • 6.4 实践环节:故意造成数据块丢失
  • 6.5 实践环节:杀死TaskTracker进程
  • 6.6 实践环节:杀死JobTracker
  • 6.7 实践环节:杀死NameNode进程
  • 6.8 实践环节:引发任务故障
  • 6.9 数据原因造成的任务故障
  • 6.10 实践环节:使用skip模式处理异常数据
  • 6.11 小结
  • 第7章 系统运行与维护
  • 7.1 关于EMR的说明
  • 7.2 Hadoop配置属性
  • 7.3 实践环节:浏览默认属性
  • 7.3.1 附加的属性元素
  • 7.3.2 默认存储位置
  • 7.3.3 设置Hadoop属性的几种方式
  • 7.4 集群设置
  • 7.4.1 为集群配备多少台主机
  • 7.4.2 特殊节点的需求
  • 7.4.3 不同类型的存储系统
  • 7.4.4 Hadoop的网络配置
  • 7.5 实践环节:查看默认的机柜配置
  • 7.6 实践环节:报告每台主机所在机柜
  • 7.7 集群访问控制
  • 7.8 实践环节:展示Hadoop的默认安全机制
  • 7.9 管理NameNode
  • 7.10 实践环节:为fsimage文件新增一个存储路径
  • 7.11 实践环节:迁移到新的NameNode主机
  • 7.12 管理HDFS
  • 7.12.1 数据写入位置
  • 7.12.2 使用平衡器
  • 7.13 MapReduce管理
  • 7.13.1 通过命令行管理作业
  • 7.13.2 作业优先级和作业调度
  • 7.14 实践环节:修改作业优先级并结束作业运行
  • 7.15 扩展集群规模
  • 7.15.1 提升本地Hadoop集群的计算能力
  • 7.15.2 提升EMR作业流的计算能力
  • 7.16 小结
  • 第8章 Hive:数据的关系视图
  • 8.1 Hive概述
  • 8.1.1 为什么使用Hive
  • 8.1.2 感谢Facebook
  • 8.2 设置Hive
  • 8.2.1 准备工作
  • 8.2.2 下载Hive
  • 8.3 实践环节:安装Hive
  • 8.4 使用Hive
  • 8.5 实践环节:创建UFO数据表
  • 8.6 实践环节:在表中插入数据
  • 8.7 实践环节:验证表
  • 8.8 实践环节:用正确的列分隔符重定义表
  • 8.9 实践环节:基于现有文件创建表
  • 8.10 实践环节:执行联结操作
  • 8.11 实践环节:使用视图
  • 8.12 实践环节:导出查询结果
  • 8.13 实践环节:制作UFO目击事件分区表
  • 8.13.1 分桶、归并和排序
  • 8.13.2 用户自定义函数
  • 8.14 实践环节:新增用户自定义函数
  • 8.14.1 是否进行预处理
  • 8.14.2 Hive和Pig的对比
  • 8.14.3 未提到的内容
  • 8.15 基于Amazon Web Services的Hive
  • 8.16 实践环节:在EMR上分析UFO数据
  • 8.16.1 在开发过程中使用交互式作业流
  • 8.16.2 与其他AWS产品的集成
  • 8.17 小结
  • 第9章 与关系数据库协同工作
  • 9.1 常见数据路径
  • 9.1.1 Hadoop用于存储档案
  • 9.1.2 使用Hadoop进行数据预处理
  • 9.1.3 使用Hadoop作为数据输入工具
  • 9.1.4 数据循环
  • 9.2 配置MySQL
  • 9.3 实践环节:安装并设置MySQL
  • 9.4 实践环节:配置MySQL允许远程连接
  • 9.5 实践环节:建立员工数据库
  • 9.6 把数据导入Hadoop
  • 9.6.1 使用MySQL工具手工导入
  • 9.6.2 在mapper中访问数据库
  • 9.6.3 更好的方法:使用Sqoop
  • 9.7 实践环节:下载并配置Sqoop
  • 9.8 实践环节:把MySQL的数据导入HDFS
  • 9.9 实践环节:把MySQL数据导出到Hive
  • 9.10 实践环节:有选择性的导入数据
  • 9.11 实践环节:使用数据类型映射
  • 9.12 实践环节:通过原始查询导入数据
  • 9.13 从Hadoop导出数据
  • 9.13.1 在reducer中把数据写入关系数据库
  • 9.13.2 利用reducer输出SQL数据文件
  • 9.13.3 仍是最好的方法
  • 9.14 实践环节:把Hadoop数据导入MySQL
  • 9.15 实践环节:把Hive数据导入MySQL
  • 9.16 实践环节:改进mapper并重新运行数据导出命令
  • 9.17 在AWS上使用Sqoop
  • 9.18 小结
  • 第10章 使用Flume收集数据
  • 10.1 关于AWS的说明
  • 10.2 无处不在的数据
  • 10.2.1 数据类别
  • 10.2.2 把网络流量导入Hadoop
  • 10.3 实践环节:把网络服务器数据导入Hadoop
  • 10.3.1 把文件导入Hadoop
  • 10.3.2 潜在的问题
  • 10.4 Apache Flume简介
  • 10.5 实践环节:安装并配置Flume
  • 10.6 实践环节:把网络流量存入日志文件
  • 10.7 实践环节:把日志输出到控制台
  • 10.8 实践环节:把命令的执行结果写入平面文件
  • 10.9 实践环节:把远程文件数据写入本地平面文件
  • 10.9.1 信源、信宿和信道
  • 10.9.2 Flume配置文件
  • 10.9.3 一切都以事件为核心
  • 10.10 实践环节:把网络数据写入HDFS
  • 10.11 实践环节:加入时间戳
  • 10.12 实践环节:多层Flume网络
  • 10.13 实践环节:把事件写入多个信宿
  • 10.13.1 选择器的类型
  • 10.13.2 信宿故障处理
  • 10.13.3 使用简单元件搭建复杂系统
  • 10.14 更高的视角
  • 10.14.1 数据的生命周期
  • 10.14.2 集结数据
  • 10.14.3 调度
  • 10.15 小结
  • 第11章 展望未来
  • 11.1 全书回顾
  • 11.2 即将到来的Hadoop变革
  • 11.3 其他版本的Hadoop软件包
  • 11.4 其他Apache项目
  • 11.4.1 HBase
  • 11.4.2 Oozie
  • 11.4.3 Whir
  • 11.4.4 Mahout
  • 11.4.5 MRUnit
  • 11.5 其他程序设计模式
  • 11.5.1 Pig
  • 11.5.2 Cascading
  • 11.6 AWS资源
  • 11.6.1 在EMR上使用HBase
  • 11.6.2 SimpleDB
  • 11.6.3 DynamoDB
  • 11.7 获取信息的渠道
  • 11.7.1 源代码
  • 11.7.2 邮件列表和论坛
  • 11.7.3 LinkedIn群组
  • 11.7.4 Hadoop用户群
  • 11.7.5 会议
  • 11.8 小结
  • 随堂测验答案
展开全部

评分及书评

评分不足
2个评分

出版方

人民邮电出版社·图灵出品

图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。