互联网
类型
8.0
豆瓣评分
可以朗读
语音朗读
276千字
字数
2014-01-01
发行日期
展开全部
主编推荐语
翻开本书,带你了解什么是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 小结
- 随堂测验答案
展开全部
出版方
人民邮电出版社·图灵出品
图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。