当前位置:主页 > 计算机电子书 > 行业软件及应用 > Hadoop下载
Hadoop硬实战

Hadoop硬实战 PDF 高清版

  • 更新:2019-12-16
  • 大小:93.8 MB
  • 类别:Hadoop
  • 作者:亚历克斯.霍姆斯
  • 出版:电子工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

Hadoop 是一个开源的MapReduce 平台,设计运行在大型分布式集群环境中,为开发者进行数据存储、管理以及分析提供便利的方法。《Hadoop硬实战》详细讲解了Hadoop 和MapReduce 的基本概念,并收集了85 个问题及其解决方案。在关键问题领域对基础概念和实战方法做了权衡。

《Hadoop硬实战》适合使用Hadoop 进行数据存储、管理和分析的技术人员使用。

目录

  • 前言
  • 致谢
  • 关于本书
  • 第1 部分 背景和基本原理
  • 1 跳跃中的Hadoop
  • 1.1 什么是Hadoop
  • 1.1.1 Hadoop 的核心组件
  • 1.1.2 Hadoop 生态圈
  • 1.1.3 物理架构
  • 1.1.4 谁在使用Hadoop
  • 1.1.5 Hadoop 的局限性
  • 1.2 运行Hadoop
  • 1.2.1 下载并安装Hadoop
  • 1.2.2 Hadoop 的配置
  • 1.2.3 CLI 基本命令
  • 1.2.4 运行MapReduce 作业
  • 1.3 本章小结
  • 第2 部分 数据逻辑.
  • 2 将数据导入导出Hadoop.
  • 2.1 导入导出的关键要素
  • 2.2 将数据导入Hadoop .
  • 2.2.1 将日志文件导入Hadoop
  • 技术点1 使用Flume 将系统日志文件导入HDFS
  • 2.2.2 导入导出半结构化和二进制文件
  • 技术点2 自动复制文件到HDFS 的机制
  • 技术点3 使用Oozie 定期执行数据导入活动
  • 2.2.3 从数据库中拉数据
  • 技术点4 使用MapReduce 将数据导入数据库
  • 技术点5 使用Sqoop 从MySQL 导入数据
  • 2.2.4 HBase
  • 技术点6 HBase 导入HDFS
  • 技术点7 将HBase 作为MapReduce 的数据源
  • 2.3 将数据导出Hadoop
  • 2.3.1 将数据导入本地文件系统
  • 技术点8 自动复制HDFS 中的文件
  • 2.3.2 数据库
  • 技术点9 使用Sqoop 将数据导入MySQL
  • 2.3.3 Hbase
  • 技术点10 将数据从HDFS 导入HBase
  • 技术点11 使用HBase 作为MapReduce 的数据接收器
  • 2.4 本章小结
  • 3 数据序列化――处理文本文件及其他格式的文件
  • 3.1 了解MapReduce 中的输入和输出
  • 3.1.1 数据输入
  • 3.1.2 数据输出
  • 3.2 处理常见的序列化格式
  • 3.2.1 XML .
  • 技术点12 MapReduce 和XML
  • 3.2.2 JSON .
  • 技术点13 MapReduce 和JSON .
  • 3.3 大数据的序列化格式
  • 3.3.1 比较SequenceFiles、Protocol Buffers、Thrift 和 Avro
  • 3.3.2 Sequence File
  • 技术点14 处理SequenceFile
  • 3.3.3 Protocol Buffers
  • 技术点15 整合Protocol Buffers 和MapReduce .
  • 3.3.4 Thrift .
  • 技术点16 使用Thrift
  • 3.3.5 Avro
  • 技术点17 MapReduce 的下一代数据序列化技术
  • 3.4 自定义文件格式
  • 3.4.1 输入输出格式
  • 技术点18 输入和输出格式为CSV 的文件
  • 3.4.2 output committing 的重要性
  • 3.5 本章小结
  • 第3 部分 大数据模式
  • 4 处理大数据的MapReduce 模式
  • 4.1 Join
  • 4.1.1 Repartition Join
  • 技术点19 优化repartition join
  • 4.1.2 Replicated Join
  • 4.1.3 Semi-join
  • 技术点20 实现semi-join
  • 4.1.4 为你的数据挑选最优的合并策略
  • 4.2 排序
  • 4.2.1 二次排序
  • 技术点21 二次排序的实现
  • 4.2.2 整体并行排序
  • 技术点22 通过多个reducer 对key 进行排序
  • 4.3 抽样
  • 技术点23 蓄水池抽样(reservoir 抽样)
  • 4.4 本章小结
  • 5 优化HDFS 处理大数据的技术
  • 5.1 处理小文件
  • 技术点24 使用Avro 存储大量小文件
  • 5.2 通过压缩提高数据存储效率
  • 技术点25 选择合适的压缩解码器
  • 技术点26 在HDFS、MapReduce、Pig 和Hive 中使用数据压缩
  • 技术点27 在MapReduce、Hive 和Pig 中处理可分割的LZOP
  • 5.3 本章小结
  • 6 诊断和优化性能问题
  • 6.1 衡量MapReduce 和你的环境
  • 6.1.1 提取作业统计信息的工具
  • 6.1.2 监控
  • 6.2 确定性能问题的原因
  • 6.2.1 了解哪些因素会影响MapReduce 作业的性能
  • 6.2.2 map 端异常
  • 技术点28 发现输入数据中的坑
  • 技术点29 确定map 端数据倾斜问题
  • 技术点30 判定map 任务吞吐量
  • 技术点31 小文件
  • 技术点32 不可切割的文件
  • 6.2.3 reduce 端问题
  • 技术点33 reducer 任务数过大或过小 .
  • 技术点34 定位reduce 端数据倾斜问题
  • 技术点35 确定reduce 任务是否存在整体吞吐量过低
  • 技术点36 缓慢的洗牌(shuffle)和排序 .
  • 6.2.4 任务的一般性能问题
  • 技术点37 作业竞争和调度器限制
  • 技术点38 使用堆转储来查找未优化的用户代码
  • 6.2.5 硬件性能问题
  • 技术点39 查找硬件的失效
  • 技术点40 CPU 竞争 .
  • 技术点41 内存交换
  • 技术点42 磁盘健康
  • 技术点43 网络
  • 6.3 可视化
  • 技术点44 提取并可视化任务执行时间
  • 6.4 优化 .
  • 6.4.1 剖析MapReduce 的用户代码
  • 技术点45 剖析map 和reduce 任务
  • 6.4.2 参数配置
  • 6.4.3 优化 shuffle 和 sort 阶段
  • 技术点46 避免reducer
  • 技术点47 过滤和投影
  • 技术点48 使用 combiner
  • 技术点49 超炫的使用比较器的快速排序
  • 6.4.4 减轻倾斜
  • 技术点50 收集倾斜数据
  • 技术点51 减轻reducer 阶段倾斜
  • 6.4.5 在MapReduce 中优化用户的Java 代码
  • 6.4.6 数据序列化
  • 6.5 本章小结
  • 第4 部分 数据科学.
  • 7 数据结构和算法的运用
  • 7.1 使用图进行数据建模和解决问题
  • 7.1.1 模拟图
  • 7.1.2 最短路径算法
  • 技术点52 找出两个用户间的最短距离
  • 7.1.3 friends-of-friends(FoF)
  • 技术点53 计算FoF
  • 7.1.4 PageRank
  • 技术点54 通过Web 图计算PageRank
  • 7.2 Bloom filter
  • 技术点55 在MapReduce 中并行创建Bloom filter
  • 技术点56 通过MapReduce 对Bloom filter 进行semi-join
  • 7.3 本章小结
  • 8 结合R 和Hadoop 进行数据统计
  • 8.1 比较R 和MapReduce 集成的几种方法
  • 8.2 R 基础知识
  • 8.3 R 和Streaming
  • 8.3.1 Streaming 和map-only R
  • 技术点57 计算股票日平均值
  • 8.3.2 Streaming、R 和完整的MapReduce
  • 技术点58 计算股票的累积均值
  • 8.4 Rhipe――将客户端R 和Hadoop 进行集成
  • 技术点59 使用Rhipe 计算CMA
  • 8.5  RHadoop――更简单地在客户端集成R 和Hadoop 的技术
  • 技术点60 使用RHadoop 计算CMA
  • 8.6 本章小结
  • 9 使用Mahout 进行预测分析
  • 9.1 使用recommender 提供产品建议
  • 9.1.1 相似性度量的可视化
  • 9.1.2 GroupLens 数据集
  • 9.1.3 基于用户的recommender
  • 9.1.4 基于物品的recommender
  • 技术点61 使用基于物品的recommender 进行电影评级
  • 9.2 classification
  • 9.2.1 编写一个手动naïve Bayesian 分类器
  • 9.2.2 可扩展的垃圾邮件侦测分类系统
  • 技术点62 使用Mahout 训练和测试垃圾邮件分类器
  • 9.2.3 其他分类算法
  • 9.3 K-means clustering
  • 9.3.1 简单介绍
  • 9.3.2 并行执行K-means
  • 技术点63 K-means 处理合成的二维数据集
  • 9.3.3 K-means 和文本
  • 9.3.4 其他Mahout clustering 算法 .
  • 9.4 本章小结
  • 第5 部分 驯服大象
  • 10 深入解析 Hive
  • 10.1 Hive 基础
  • 10.1.1 安装
  • 10.1.2 元存储
  • 10.1.3 数据库、表、分区和存储
  • 10.1.4 数据模型
  • 10.1.5 查询语言
  • 10.1.6 交互式和非交互式Hive
  • 10.2 使用Hive 进行数据分析
  • 10.2.1 序列化和反序列化
  • 技术点64 载入日志文件
  • 10.2.2 UDF、分区、分桶和压缩
  • 技术点65 编写UDF 和压缩分区表
  • 10.2.3 数据合并
  • 技术点66 优化Hive 合并
  • 10.2.4 分组、排序和explain
  • 10.3 本章小结
  • 11 Pig 流管道
  • 11.1 Pig 基础
  • 11.1.1 安装
  • 11.1.2 架构
  • 11.1.3 PigLatin.
  • 11.1.4 数据类型
  • 11.1.5 操作符和函数
  • 11.1.6 交互式和非交互式的Pig
  • 11.2 使用Pig 在日志数据中发现恶意行为者
  • 11.2.1 加载数据
  • 技术点67 加载Apache 日志文件
  • 11.2.2 过滤和投影
  • 技术点68 通过过滤和投影减少数据处理量
  • 11.2.3 分组和聚合UDF
  • 技术点69 IP 地址的分组和计数
  • 11.2.4 使用UDF 进行定位
  • 技术点70 使用分布式缓存进行IP 地理定位
  • 11.2.5 流
  • 技术点71 使用你的脚本合并Pig
  • 11.2.6 合并
  • 技术点72 在Pig 中合并数据
  • 11.2.7 排序
  • 技术点73 元组排序
  • 11.2.8 存储数据
  • 技术点74 在SequenceFiles 中存储数据
  • 11.3 使用Pig 优化用户的工作流程
  • 技术点75 通过4 步快速处理大数据
  • 11.4 性能
  • 技术点76 Pig 优化
  • 11.5 本章小结
  • 12 Crunch 及相关技术
  • 12.1 什么是Crunch
  • 12.1.1 背景和概念
  • 12.1.2 基本原理
  • 12.1.3 简单示例
  • 12.2 发现日志中最热门的URL
  • 技术点77 使用Crunch 进行日志解析和基本分析
  • 12.3 合并
  • 技术点78 Crunch 的repartition join
  • 12.4 Cascading
  • 12.5 本章小结
  • 13 测试和调试.
  • 13.1 测试
  • 13.1.1 有效的单元测试的基本要素
  • 13.1.2 MRUnit .
  • 技术点79 MapReduce 函数、作业和管道的单元测试
  • 13.1.3 LocalJobRunner
  • 技术点80 用LocalJobRunner 进行重量级的作业测试
  • 13.1.4 集成和QA 测试
  • 13.2 调试用户空间的问题
  • 13.2.1 访问任务日志
  • 技术点81 检查任务日志
  • 13.2.2 调试不可预期的输入
  • 技术点82 定位input split 问题
  • 13.2.3 调试JVM 配置
  • 技术点83 解决任务的JVM 启动参数
  • 13.2.4 高效调试的编码准则
  • 技术点84 调试和错误处理
  • 13.3 MapReduce 陷阱
  • 技术点85 MapReduce 反模式
  • 13.4 本章小结
  • 附录A 相关技术
  • 附录B Hadoop 内置的数据导入导出工具
  • 附录C HDFS 解剖.
  • 附录D 优化MapReduce 合并框架
  • 索引

资源下载

资源下载地址1:https://pan.baidu.com/s/1a6KdmZrufmlE6QaUAb-cmg

相关资源

网友留言