书籍详情
Hadoop实战手册
作者:(美)Jonathan R. Owens,Jon Lentz,Brian Femiano 著,傅杰,赵磊,卢学裕 译
出版社:人民邮电出版社
出版时间:2014-03-01
ISBN:9787115337955
定价:¥59.00
购买这本书可以去
内容简介
这是一本Hadoop实用手册,主要针对实际问题给出相应的解决方案。《Hadoop实战手册》特色是以实践结合理论分析,手把手教读者如何操作,并且对每个操作都做详细的解释,对一些重要的知识点也做了必要的拓展。全书共包括3个部分,第一部分为基础篇,主要介绍Hadoop数据导入导出、HDFS的概述、Pig与Hive的使用、ETL和简单的数据处理,还介绍了MapReduce的调试方式;第二部分为数据分析高级篇,主要介绍高级聚合、大数据分析等技巧;第三部分为系统管理篇,主要介绍Hadoop的部署的各种模式、添加新节点、退役节点、快速恢复、MapReduce调优等。《Hadoop实战手册》适合各个层次的Hadoop技术人员阅读。通过阅读《Hadoop实战手册》,Hadoop初学者可以使用Hadoop来进行数据处理,Hadoop工程师或者数据挖掘工程师可以解决复杂的业务分析,Hadoop系统管理员可以更好地进行日常运维。《Hadoop实战手册》也可作为一本Hadoop技术手册,针对要解决的相关问题,在工作中随时查阅。
作者简介
Jonathan R. Owens:软件工程师,拥有Java和C++技术背景,最近主要从事Hadoop及相关分布式处理技术工作。目前就职于comScore公司,为核心数据处理团队成员。comScore是一家知名的从事数字测量与分析的公司,公司使用Hadoop及其他定制的分布式系统对数据进行聚合、分析和管理,每天处理超过400亿单的交易。Jon Lentz:comScore核心数据处理团队软件工程师。他更倾向于使用Pig脚本来解决问题。在加入comScore之前,他主要开发优化供应链和分配固定收益证券的软件。Brian Femiano:本科毕业于计算机科学专业,并且从事相关专业软件开发工作6年,最近两年主要利用Hadoop构建高级分析与大数据存储。他拥有商业领域的相关经验,以及丰富的政府合作经验。他目前就职于Potomac Fusion公司,这家公司主要从事可扩展算法的开发,并致力于学习并改进政府领域中最先进和最复杂的数据集。他通过教授课程和会议培训在公司内部普及Hadoop和云计算相关的技术。译者简介傅杰 硕士,毕业于清华大学高性能所,现就职于优酷土豆集团,任数据平台架构师,负责集团大数据基础平台建设,支撑其他团队的存储与计算需求,包含Hadoop基础平台、日志采集系统、实时计算平台、消息系统、天机镜系统等。个人专注于大数据基础平台架构及安全研究,积累了丰富的平台运营经验,擅长Hadoop平台性能调优、JVM调优及诊断各种MapReduce作业,还担任China Hadoop Submit 2013大会专家委员、优酷土豆大数据系列课程策划&讲师、EasyHadoop社区讲师。赵磊 硕士,毕业于中国科学技术大学,现就职于优酷土豆集团,任数据挖掘算法工程师,负责集团个性化推荐和无线消息推送系统的搭建和相关算法的研究。个人专注于基于大数据的推荐算法的研究与应用,积累了丰富的大数据分析与数据挖掘的实践经验,对分布式计算和海量数据处理有深刻的认识。卢学裕 硕士,毕业于武汉大学,曾供职腾讯公司即通部门,现就职于优酷土豆集团,担任大数据技术负责人,负责优酷土豆集团大数据系统平台、大数据分析、数据挖掘和推荐系统。有丰富的Hadoop平台使用及优化经验,尤其擅长MapReduce的性能优化。基于Hadoop生态系统构建了优酷土豆的推荐系统,BI分析平台。
目录
目 录
第1章 Hadoop分布式文件系统——导入和导出数据 1
1.1 介绍 1
1.2 使用Hadoop shell命令导入和导出数据到HDFS 2
1.3 使用distcp实现集群间数据复制 7
1.4 使用Sqoop从MySQL数据库导入数据到HDFS 9
1.5 使用Sqoop从HDFS导出数据到MySQL 12
1.6 配置Sqoop以支持SQL Server 15
1.7 从HDFS导出数据到MongoDB 17
1.8 从MongoDB导入数据到HDFS 20
1.9 使用Pig从HDFS导出数据到MongoDB 23
1.10 在Greenplum外部表中使用HDFS 24
1.11 利用Flume加载数据到HDFS中 26
第2章 HDFS 28
2.1 介绍 28
2.2 读写HDFS数据 29
2.3 使用LZO压缩数据 31
2.4 读写序列化文件数据 34
2.5 使用Avro序列化数据 37
2.6 使用Thrift序列化数据 41
2.7 使用Protocol Buffers序列化数据 44
2.8 设置HDFS备份因子 48
2.9 设置HDFS块大小 49
第3章 抽取和转换数据 51
3.1 介绍 51
3.2 使用MapReduce将Apache日志转换为TSV格式 52
3.3 使用Apache Pig过滤网络服务器日志中的爬虫访问量 54
3.4 使用Apache Pig根据时间戳对网络服务器日志数据排序 57
3.5 使用Apache Pig对网络服务器日志进行会话分析 59
3.6 通过Python扩展Apache Pig的功能 61
3.7 使用MapReduce及二次排序计算页面访问量 62
3.8 使用Hive和Python清洗、转换地理事件数据 67
3.9 使用Python和Hadoop Streaming执行时间序列分析 71
3.10 在MapReduce中利用MultipleOutputs输出多个文件 75
3.11 创建用户自定义的Hadoop Writable及InputFormat读取地理事件数据 78
第4章 使用Hive、Pig和MapReduce处理常见的任务 85
4.1 介绍 85
4.2 使用Hive将HDFS中的网络日志数据映射为外部表 86
4.3 使用Hive动态地为网络日志查询结果创建Hive表 87
4.4 利用Hive字符串UDF拼接网络日志数据的各个字段 89
4.5 使用Hive截取网络日志的IP字段并确定其对应的国家 92
4.6 使用MapReduce对新闻档案数据生成n-gram 94
4.7 通过MapReduce使用分布式缓存查找新闻档案数据中包含关键词的行 98
4.8 使用Pig加载一个表并执行包含GROUP BY的SELECT操作 102
第5章 高级连接操作 104
5.1 介绍 104
5.2 使用MapReduce对数据进行连接 104
5.3 使用Apache Pig对数据进行复制连接 108
5.4 使用Apache Pig对有序数据进行归并连接 110
5.5 使用Apache Pig对倾斜数据进行倾斜连接 111
5.6 在Apache Hive中通过map端连接对地理事件进行分析 113
5.7 在Apache Hive通过优化的全外连接分析地理事件数据 115
5.8 使用外部键值存储(Redis)连接数据 118
第6章 大数据分析 123
6.1 介绍 123
6.2 使用MapReduce和Combiner统计网络日志数据集中的独立IP数 124
6.3 运用Hive日期UDF对地理事件数据集中的时间日期进行转换与排序 129
6.4 使用Hive创建基于地理事件数据的每月死亡报告 131
6.5 实现Hive用户自定义UDF用于确认地理事件数据的来源可靠性 133
6.6 使用Hive的map/reduce操作以及Python标记最长的无暴力发生的时间区间 136
6.7 使用Pig计算Audioscrobbler数据集中艺术家之间的余弦相似度 141
6.8 使用Pig以及datafu剔除Audioscrobbler数据集中的离群值 145
第7章 高级大数据分析 147
7.1 介绍 147
7.2 使用Apache Giraph计算PageRank 147
7.3 使用Apache Giraph计算单源最短路径 150
7.4 使用Apache Giraph执行分布式宽度优先搜索 158
7.5 使用Apache Mahout计算协同过滤 165
7.6 使用Apache Mahout进行聚类 168
7.7 使用Apache Mahout进行情感分类 171
第8章 调试 174
8.1 介绍 174
8.2 在MapReduce中使用Counters监测异常记录 174
8.3 使用MRUnit开发和测试MapReduce 177
8.4 本地模式下开发和测试MapReduce 179
8.5 运行MapReduce作业跳过异常记录 182
8.6 在流计算作业中使用Counters 184
8.7 更改任务状态显示调试信息 185
8.8 使用illustrate调试Pig作业 187
第9章 系统管理 189
9.1 介绍 189
9.2 在伪分布模式下启动Hadoop 189
9.3 在分布式模式下启动Hadoop 192
9.4 添加一个新节点 195
9.5 节点安全退役 197
9.6 NameNode故障恢复 198
9.7 使用Ganglia监控集群 199
9.8 MapReduce作业参数调优 201
第10章 使用Apache Accumulo进行持久化 204
10.1 介绍 204
10.2 在Accumulo中设计行键存储地理事件 205
10.3 使用MapReduce批量导入地理事件数据到Accumulo 213
10.4 设置自定义字段约束Accumulo中的地理事件数据 220
10.5 使用正则过滤器限制查询结果 225
10.6 使用SumCombiner计算同一个键的不同版本的死亡数总和 228
10.7 使用Accumulo实行单元级安全的扫描 232
10.8 使用MapReduce聚集Accumulo中的消息源 237
第1章 Hadoop分布式文件系统——导入和导出数据 1
1.1 介绍 1
1.2 使用Hadoop shell命令导入和导出数据到HDFS 2
1.3 使用distcp实现集群间数据复制 7
1.4 使用Sqoop从MySQL数据库导入数据到HDFS 9
1.5 使用Sqoop从HDFS导出数据到MySQL 12
1.6 配置Sqoop以支持SQL Server 15
1.7 从HDFS导出数据到MongoDB 17
1.8 从MongoDB导入数据到HDFS 20
1.9 使用Pig从HDFS导出数据到MongoDB 23
1.10 在Greenplum外部表中使用HDFS 24
1.11 利用Flume加载数据到HDFS中 26
第2章 HDFS 28
2.1 介绍 28
2.2 读写HDFS数据 29
2.3 使用LZO压缩数据 31
2.4 读写序列化文件数据 34
2.5 使用Avro序列化数据 37
2.6 使用Thrift序列化数据 41
2.7 使用Protocol Buffers序列化数据 44
2.8 设置HDFS备份因子 48
2.9 设置HDFS块大小 49
第3章 抽取和转换数据 51
3.1 介绍 51
3.2 使用MapReduce将Apache日志转换为TSV格式 52
3.3 使用Apache Pig过滤网络服务器日志中的爬虫访问量 54
3.4 使用Apache Pig根据时间戳对网络服务器日志数据排序 57
3.5 使用Apache Pig对网络服务器日志进行会话分析 59
3.6 通过Python扩展Apache Pig的功能 61
3.7 使用MapReduce及二次排序计算页面访问量 62
3.8 使用Hive和Python清洗、转换地理事件数据 67
3.9 使用Python和Hadoop Streaming执行时间序列分析 71
3.10 在MapReduce中利用MultipleOutputs输出多个文件 75
3.11 创建用户自定义的Hadoop Writable及InputFormat读取地理事件数据 78
第4章 使用Hive、Pig和MapReduce处理常见的任务 85
4.1 介绍 85
4.2 使用Hive将HDFS中的网络日志数据映射为外部表 86
4.3 使用Hive动态地为网络日志查询结果创建Hive表 87
4.4 利用Hive字符串UDF拼接网络日志数据的各个字段 89
4.5 使用Hive截取网络日志的IP字段并确定其对应的国家 92
4.6 使用MapReduce对新闻档案数据生成n-gram 94
4.7 通过MapReduce使用分布式缓存查找新闻档案数据中包含关键词的行 98
4.8 使用Pig加载一个表并执行包含GROUP BY的SELECT操作 102
第5章 高级连接操作 104
5.1 介绍 104
5.2 使用MapReduce对数据进行连接 104
5.3 使用Apache Pig对数据进行复制连接 108
5.4 使用Apache Pig对有序数据进行归并连接 110
5.5 使用Apache Pig对倾斜数据进行倾斜连接 111
5.6 在Apache Hive中通过map端连接对地理事件进行分析 113
5.7 在Apache Hive通过优化的全外连接分析地理事件数据 115
5.8 使用外部键值存储(Redis)连接数据 118
第6章 大数据分析 123
6.1 介绍 123
6.2 使用MapReduce和Combiner统计网络日志数据集中的独立IP数 124
6.3 运用Hive日期UDF对地理事件数据集中的时间日期进行转换与排序 129
6.4 使用Hive创建基于地理事件数据的每月死亡报告 131
6.5 实现Hive用户自定义UDF用于确认地理事件数据的来源可靠性 133
6.6 使用Hive的map/reduce操作以及Python标记最长的无暴力发生的时间区间 136
6.7 使用Pig计算Audioscrobbler数据集中艺术家之间的余弦相似度 141
6.8 使用Pig以及datafu剔除Audioscrobbler数据集中的离群值 145
第7章 高级大数据分析 147
7.1 介绍 147
7.2 使用Apache Giraph计算PageRank 147
7.3 使用Apache Giraph计算单源最短路径 150
7.4 使用Apache Giraph执行分布式宽度优先搜索 158
7.5 使用Apache Mahout计算协同过滤 165
7.6 使用Apache Mahout进行聚类 168
7.7 使用Apache Mahout进行情感分类 171
第8章 调试 174
8.1 介绍 174
8.2 在MapReduce中使用Counters监测异常记录 174
8.3 使用MRUnit开发和测试MapReduce 177
8.4 本地模式下开发和测试MapReduce 179
8.5 运行MapReduce作业跳过异常记录 182
8.6 在流计算作业中使用Counters 184
8.7 更改任务状态显示调试信息 185
8.8 使用illustrate调试Pig作业 187
第9章 系统管理 189
9.1 介绍 189
9.2 在伪分布模式下启动Hadoop 189
9.3 在分布式模式下启动Hadoop 192
9.4 添加一个新节点 195
9.5 节点安全退役 197
9.6 NameNode故障恢复 198
9.7 使用Ganglia监控集群 199
9.8 MapReduce作业参数调优 201
第10章 使用Apache Accumulo进行持久化 204
10.1 介绍 204
10.2 在Accumulo中设计行键存储地理事件 205
10.3 使用MapReduce批量导入地理事件数据到Accumulo 213
10.4 设置自定义字段约束Accumulo中的地理事件数据 220
10.5 使用正则过滤器限制查询结果 225
10.6 使用SumCombiner计算同一个键的不同版本的死亡数总和 228
10.7 使用Accumulo实行单元级安全的扫描 232
10.8 使用MapReduce聚集Accumulo中的消息源 237
猜您喜欢