图书介绍
Hadoop硬实战PDF|Epub|txt|kindle电子书版本网盘下载
![Hadoop硬实战](https://www.shukui.net/cover/70/34473727.jpg)
- (美)霍姆斯著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121250729
- 出版时间:2015
- 标注页数:511页
- 文件大小:69MB
- 文件页数:536页
- 主题词:数据处理软件
PDF下载
下载说明
Hadoop硬实战PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1部分 背景和基本原理1
1跳跃中的Hadoop3
1.1 什么是Hadoop4
1.1.1 Hadoop的核心组件5
1.1.2 Hadoop生态圈9
1.1.3 物理架构10
1.1.4 谁在使用Hadoop12
1.1.5 Hadoop的局限性13
1.2 运行Hadoop14
1.2.1 下载并安装Hadoop14
1.2.2 Hadoop的配置15
1.2.3 CLI基本命令17
1.2.4 运行MapReduce作业18
1.3 本章小结24
第2部分 数据逻辑25
2将数据导入导出Hadoop27
2.1 导入导出的关键要素29
2.2 将数据导入Hadoop30
2.2.1 将日志文件导入Hadoop31
技术点1使用Flume将系统日志文件导入HDFS33
2.2.2 导入导出半结构化和二进制文件42
技术点2自动复制文件到HDFS的机制43
技术点3使用Oozie定期执行数据导入活动48
2.2.3 从数据库中拉数据52
技术点4使用MapReduce将数据导入数据库53
技术点5使用Sqoop从MySQL导入数据58
2.2.4 HBase68
技术点6 HBase导入HDFS68
技术点7将HBase作为MapReduce的数据源70
2.3 将数据导出Hadoop73
2.3.1 将数据导入本地文件系统73
技术点8自动复制HDFS中的文件73
2.3.2 数据库74
技术点9使用Sqoop将数据导入MySQL75
2.3.3 Hbase78
技术点10将数据从HDFS导入HBase78
技术点11使用HBase作为MapReduce的数据接收器79
2.4 本章小结81
3数据序列化——处理文本文件及其他格式的文件83
3.1 了解MapReduce中的输入和输出84
3.1.1 数据输入85
3.1.2 数据输出89
3.2 处理常见的序列化格式91
3.2.1 XML91
技术点12 MapReduce和XML91
3.2.2 JSON95
技术点13 MapReduce和JSON95
3.3 大数据的序列化格式99
3.3.1 比较SequenceFiles、Protocol Buffers、Thrift和Avro99
3.3.2 Sequence File101
技术点14处理SequenceFile103
3.3.3 Protocol Buffers109
技术点15 整合Protocol Buffers和MapReduce110
3.3.4 Thrift117
技术点16使用Thrift117
3.3.5 Avro119
技术点17 MapReduce的下一代数据序列化技术120
3.4 自定义文件格式127
3.4.1 输入输出格式127
技术点18 输入和输出格式为CSV的文件128
3.4.2 output committing的重要性136
3.5 本章小结136
第3部分 大数据模式137
4处理大数据的MapReduce模式139
4.1 Join140
4.1.1 Repartition Join141
技术点19优化repartition join142
4.1.2 Replicated Join146
4.1.3 Semi-join147
技术点20实现semi-join148
4.1.4 为你的数据挑选最优的合并策略154
4.2 排序155
4.2.1 二次排序156
技术点21二次排序的实现157
4.2.2 整体并行排序162
技术点22通过多个reducer对key进行排序162
4.3 抽样165
技术点23蓄水池抽样(reservoir抽样)165
4.4 本章小结168
5优化HDFS处理大数据的技术169
5.1 处理小文件170
技术点24使用Avro存储大量小文件170
5.2 通过压缩提高数据存储效率178
技术点25选择合适的压缩解码器178
技术点26在HDFS、MapReduce、Pig和Hive中使用数据压缩182
技术点27在MapReduce、Hive和Pig中处理可分割的LZOP187
5.3 本章小结193
6诊断和优化性能问题194
6.1 衡量MapReduce和你的环境195
6.1.1 提取作业统计信息的工具195
6.1.2 监控196
6.2 确定性能问题的原因198
6.2.1 了解哪些因素会影响MapReduce作业的性能198
6.2.2 map端异常200
技术点28发现输入数据中的坑200
技术点29确定map端数据倾斜问题201
技术点30判定map任务吞吐量203
技术点31小文件204
技术点32 不可切割的文件206
6.2.3 reduce端问题207
技术点33 reducer任务数过大或过小208
技术点34定位reduce端数据倾斜问题209
技术点35确定reduce任务是否存在整体吞吐量过低211
技术点36缓慢的洗牌(shuffle)和排序213
6.2.4 任务的一般性能问题213
技术点37作业竞争和调度器限制215
技术点38使用堆转储来查找未优化的用户代码216
6.2.5 硬件性能问题218
技术点39查找硬件的失效218
技术点40 CPU竞争219
技术点41内存交换220
技术点42磁盘健康222
技术点43网络224
6.3 可视化226
技术点44提取并可视化任务执行时间227
6.4 优化229
6.4.1 剖析MapReduce的用户代码230
技术点45剖析map和reduce任务230
6.4.2 参数配置232
6.4.3 优化shuffle和sort阶段234
技术点46避免reducer234
技术点47过滤和投影235
技术点48使用combiner236
技术点49超炫的使用比较器的快速排序237
6.4.4 减轻倾斜241
技术点50收集倾斜数据242
技术点51减轻reducer阶段倾斜243
6.4.5 在MapReduce中优化用户的Java代码244
6.4.6 数据序列化248
6.5 本章小结249
第4部分 数据科学251
7数据结构和算法的运用253
7.1 使用图进行数据建模和解决问题254
7.1.1 模拟图255
7.1.2 最短路径算法255
技术点52找出两个用户间的最短距离256
7.1.3 friends-of-friends(FoF)263
技术点53计算FoF263
7.1.4 PageRank269
技术点54通过Web图计算PageRank269
7.2 Bloom filter275
技术点55在MapReduce中并行创建Bloom filter277
技术点56通过MapReduce对Bloom filter进行semi-join281
7.3 本章小结284
8结合R和Hadoop进行数据统计285
8.1 比较R和MapReduce集成的几种方法286
8.2 R基础知识288
8.3 R和Streaming290
8.3.1 Streaming和map-only R290
技术点57计算股票日平均值290
8.3.2 Streaming、R和完整的MapReduce293
技术点58计算股票的累积均值293
8.4 Rhipe——将客户端R和Hadoop进行集成297
技术点59使用Rhipe计算CMA297
8.5 RHadoop——更简单地在客户端集成R和Hadoop的技术301
技术点60使用RHadoop计算CMA302
8.6 本章小结304
9使用Mahout进行预测分析305
9.1 使用recommender提供产品建议306
9.1.1 相似性度量的可视化307
9.1.2 GroupLens数据集308
9.1.3 基于用户的 recommender310
9.1.4 基于物品的recommender310
技术点61使用基于物品的recommender进行电影评级311
9.2 classification314
9.2.1 编写一个手动naive Bayesian分类器315
9.2.2 可扩展的垃圾邮件侦测分类系统321
技术点62使用Mahout训练和测试垃圾邮件分类器321
9.2.3 其他分类算法325
9.3 K-means clustering325
9.3.1 简单介绍326
9.3.2 并行执行K-means327
技术点63 K-means处理合成的二维数据集327
9.3.3 K-means和文本331
9.3.4 其他Mahout clustering算法332
9.4 本章小结332
第5部分 驯服大象333
10深入解析Hive335
10.1 Hive基础336
10.1.1 安装336
10.1.2 元存储336
10.1.3 数据库、表、分区和存储336
10.1.4 数据模型337
10.1.5 查询语言337
10.1.6 交互式和非交互式Hive337
10.2 使用Hive进行数据分析338
10.2.1 序列化和反序列化338
技术点64载入日志文件338
10.2.2 UDF、分区、分桶和压缩344
技术点65编写UDF和压缩分区表344
10.2.3 数据合并350
技术点66优化Hive合并350
10.2.4 分组、排序和explain355
10.3 本章小结358
11 Pig流管道359
11.1 Pig基础360
11.1.1 安装360
11.1.2 架构360
11.1.3 PigLatin360
11.1.4 数据类型361
11.1.5 操作符和函数361
11.1.6 交互式和非交互式的Pig362
11.2 使用Pig在日志数据中发现恶意行为者362
11.2.1 加载数据363
技术点67加载Apache日志文件363
11.2.2 过滤和投影368
技术点68通过过滤和投影减少数据处理量368
11.2.3 分组和聚合UDF370
技术点69 IP地址的分组和计数370
11.2.4 使用UDF进行定位374
技术点70使用分布式缓存进行IP地理定位375
11.2.5 流378
技术点71使用你的脚本合并Pig378
11.2.6 合并379
技术点72在Pig中合并数据380
11.2.7 排序381
技术点73元组排序381
11.2.8 存储数据382
技术点74在SequenceFiles中存储数据382
11.3 使用Pig优化用户的工作流程385
技术点75通过4步快速处理大数据385
11.4 性能390
技术点76 Pig优化390
11.5 本章小结393
12 Crunch及相关技术394
12.1 什么是Crunch395
12.1.1 背景和概念395
12.1.2 基本原理395
12.1.3 简单示例398
12.2 发现日志中最热门的URL401
技术点77使用Crunch进行日志解析和基本分析402
12.3 合并405
技术点78 Crunch的repartition join405
12.4 Cascading407
12.5 本章小结409
13测试和调试410
13.1 测试410
13.1.1 有效的单元测试的基本要素411
13.1.2 MRUnit413
技术点79 MapReduce函数、作业和管道的单元测试413
13.1.3 LocalJobRunner420
技术点80用LocalJobRunner进行重量级的作业测试421
13.1.4 集成和QA测试423
13.2 调试用户空间的问题424
13.2.1 访问任务日志424
技术点81检查任务日志424
13.2.2 调试不可预期的输入429
技术点82定位input split问题429
13.2.3 调试JVM配置432
技术点83解决任务的JVM启动参数433
13.2.4 高效调试的编码准则433
技术点84调试和错误处理433
13.3 MapReduce陷阱437
技术点85 MapReduce反模式438
13.4 本章小结441
附录A 相关技术443
附录B Hadoop内置的数据导入导出工具471
附录C HDFS解剖486
附录D 优化MapReduce合并框架493
索引503