Hadoop 应用架构 PDF 文档

发布于 2023-06-15 22:06:29 字数 5618 浏览 43 评论 0

本书讲解使用 Hadoop 平台进行应用架构所需要的关键知识,旨在帮助读者掌握有效集成HBase、Kafka、Spark 等 Hadoop 生态圈工具以形成完整的大数据解决方案。书中内容分为两部分,第一部分介绍使用 Hadoop 创建应用程序时要考虑的问题,第二部分展示如何使用前面介绍的组件实现基于 Hadoop 的完整解决方案。

本书适合软件开发人员、构架师、项目主管等。

时至今日,Hadoop 已形成了较为成熟、持续发展的生态圈。2016 年是 Hadoop 发展的第十个年头,从 v1 到 v2,再到将要发布的 3.0.0-GA,其功能、性能、稳定性及可用性均得到了极大的提升。Hadoop 在业界和学术界快速地渗透、迭代和普及,已经成为了数据处理领域最为基础的技术选型和基本架构。承担底层分布式存储的 HDFS、经典的分布式计算模型 MapReduce,以及成熟的资源管理任务调度框架 YARN 一同构成了传统概念上的 Hadoop。

而基于 Hadoop 的各个组件也在蓬勃发展:进行内存迭代计算的新一代燎原之火 Spark 已至 2.0.2(2016 年 11 月 14 日),能将 SQL 转化成多种执行引擎(MapReduce、Tez、Spark)的 Hive 已至 2.1.0(2016 年 6 月 20),提供键值对存取的多版本海量数据库HBase 已至 1.2.4(2016 年 11 月 7 日)。Hadoop 生态圈日趋庞大,各种各样的自由软件已逾百种(参见 http://hadoopecosystemtable.github.io )。

前言
第一部分 考虑 Hadoop 应用的架构设计
第 1 章 Hadoop 数据建模
1.1 数据存储选型
1.1.1 标准文件格式
1.1.2 Hadoop 文件类型
1.1.3 序列化存储格式
1.1.4 列式存储格式
1.1.5 压缩
1.2 HDFS 模式设计
1.2.1 文件在 HDFS 中的位置
1.2.2 高级 HDFS 模式设计
1.2.3 HDFS 模式设计总结
1.3 HBase 模式设计
1.3.1 行键
1.3.2 时间戳
1.3.3 hop
1.3.4 表和 Region
1.3.5 使用列
1.3.6 列簇
1.3.7 TTL
1.4 元数据管理
1.4.1 什么是元数据
1.4.2 为什么元数据至关重要
1.4.3 元数据的存储位置
1.4.4 元数据管理举例
1.4.5 Hive metastore 与 HCatalog 的局限性
1.4.6 其他存储元数据的方式
1.5 结论
第 2 章 Hadoop 数据移动
2.1 数据采集考量
2.1.1 数据采集的时效性
2.1.2 增量更新
2.1.3 访问模式
2.1.4 数据源系统及数据结构
2.1.5 变换
2.1.6 网络瓶颈
2.1.7 网络安全性
2.1.8 被动推送与主动请求
2.1.9 错误处理
2.1.10 复杂度
2.2 数据采集选择
2.2.1 文件传输
2.2.2 文件传输与其他采集方法的考量
2.2.3 Sqoop:Hadoop 与关系数据库的批量传输
2.2.4 Flume:基于事件的数据收集及处理
2.2.5 Kafka
2.3 数据导出
2.4 小结
第 3 章 Hadoop 数据处理
3.1 MapReduce
3.1.1 MapReduce 概述
3.1.2 MapReduce 示例
3.1.3 MapReduce 使用场景
3.2 Spark
3.2.1 Spark 概述
3.2.2 Spark 组件概述
3.2.3 Spark 基本概念
3.2.4 Spark 的优点
3.2.5 Spark 示例
3.2.6 Spark 使用场景
3.3 抽象层
3.3.1 Pig
3.3.2 Pig 示例
3.3.3 Pig 使用场景
3.4 Crunch
3.4.1 Crunch 示例
3.4.2 Crunch 使用场景
3.5 Cascading
3.5.1 Cascading 示例
3.5.2 Cascading 使用场景
3.6 Hive
3.6.1 Hive 概述
3.6.2 Hive 示例
3.6.3 Hive 使用场景
3.7 Impala
3.7.1 Impala 概述
3.7.2 面向高速查询的设计
3.7.3 Impala 示例
3.7.4 Impala 使用场景
3.8 小结
第 4 章 Hadoop 数据处理通用范式
4.1 模式一:依主键移除重复记录
4.1.1 去重示例的测试数据生成
4.1.2 代码示例:使用 Scala 实现 Spark 去重
4.1.3 代码示例:使用 SQL 实现去重
4.2 模式二:数据开窗分析
4.2.1 生成开窗分析的示例数据
4.2.2 代码示例:使用 Spark 分析数据的高峰和低谷
4.2.3 代码示例:使用 SQL 分析数据的高峰和低谷
4.3 模式三:基于时间序列的更新
4.3.1 利用 HBase 的版本特性
4.3.2 以记录主键与开始时间作 HBase 的行键
4.3.3 重写 HDFS 数据更新整个表
4.3.4 利用 HDFS 上的分区存储当前记录和历史记录
4.3.5 生成时间序列的示例数据
4.3.6 代码示例:使用 Spark 更新时间序列数据
4.3.7 代码示例:使用 SQL 更新时间序列数据
4.4 小结
第 5 章 Hadoop 图处理
5.1 什么是图
5.2 什么是图处理
5.3 分布式系统中的图处理
5.3.1 块同步并行模型
5.3.2 BSP 举例
5.4 Giraph
5.4.1 数据的输入和分片
5.4.2 使用 BSP 批处理图
5.4.3 将图回写磁盘
5.4.4 整体流程控制
5.4.5 何时选用 Giraph
5.5 GraphX
5.5.1 另一种 RDD
5.5.2 GraphX 的 Pregel 接口
5.5.3 vprog()
5.5.4 sendMessage()
5.5.5 mergeMessage()
5.6 工具选择
5.7 小结
第 6 章 协调调度
6.1 工作流协调调度的必要性
6.2 脚本的局限性
6.3 企业级任务调度器及 Hadoop
6.4 Hadoop 生态系统中的工作流框架
6.5 Oozie 术语
6.6 Oozie 概述
6.7 Oozie 工作流
6.8 工作流范式
6.8.1 点对点式工作流
6.8.2 扇出式工作流
6.8.3 分支决策式工作流
6.9 工作流参数化
6.10 Classpath 定义
6.11 调度模式
6.11.1 依频次调度
6.11.2 时间或数据触发式
6.12 执行工作流
6.13 小结
第 7 章 Hadoop 近实时处理
7.1 流处理
7.2 Apache Storm
7.2.1 Storm 高级架构
7.2.2 Storm 拓扑
7.2.3 元组及数据流
7.2.4 spout 和 bolt
7.2.5 数据流分组
7.2.6 Storm 应用的可靠性
7.2.7 仅处理一次机制
7.2.8 容错性
7.2.9 Storm 与 HDFS 集成
7.2.10 Storm 与 HBase 集成
7.2.11 Storm 示例:简单移动平均
7.2.12 Storm 评估
7.3 Trident 接口
7.3.1 Trident 示例:简单移动平均
7.3.2 Trident 评估
7.4 Spark Streaming
7.4.1 Spark Streaming 概述
7.4.2 Spark Streaming 示例:简单求和
7.4.3 Spark Streaming 示例:多路输入
7.4.4 Spark Streaming 示例:状态维护
7.4.5 Spark Streaming 示例:窗口函数
7.4.6 Spark Streaming 示例:Streaming 与 ETL 代码比较
7.4.7 Spark Streaming 评估
7.5 Flume 拦截器
7.6 工具选择
7.6.1 低延迟的数据扩充、验证、报警及采集
7.6.2 NRT 技术、滚动平均及迭代处理
7.6.3 复杂数据流
7.7 小结
第二部分 案例研究
第 8 章 点击流分析
8.1 用例场景定义
8.2 使用 Hadoop 进行点击流分析
8.3 设计概述
8.4 数据存储
8.5 数据采集
8.5.1 客户端层
8.5.2 收集器层
8.6 数据处理
8.6.1 数据去重
8.6.2 会话生成
8.7 数据分析
8.8 协调调度
8.9 小结
第 9 章 欺诈检测
9.1 持续改善
9.2 开始行动
9.3 欺诈检测系统架构需求
9.4 用例介绍
9.5 架构设计
9.6 客户端架构
9.7 画像存储及访问
9.7.1 缓存
9.7.2 HBase 数据定义
9.7.3 事务状态更新:通过或否决
9.8 数据采集
客户端与 Flume 间的数据通路
9.9 近实时处理与探索性分析
9.10 近实时处理
9.11 探索性分析
9.12 其他架构对比
9.12.1 Flume 拦截器
9.12.2 从 Kafka 到 Storm 或 Spark Streaming
9.12.3 扩展的业务规则引擎
9.13 小结
第 10 章 数据仓库
10.1 使用 Hadoop 构建数据仓库
10.2 用例场景定义
10.3 OLTP 模式
10.4 数据仓库:术语介绍
10.5 数据仓库的 Hadoop 实践
10.6 架构设计
10.6.1 数据建模及存储
10.6.2 数据采集
10.6.3 数据处理及访问
10.6.4 数据聚合
10.6.5 数据导出
10.6.6 流程调度
10.7 小结
附录 A Impala 中的关联
A.1 广播式关联
A.2 分区后散列关联

下载地址:https://www.wenjiangs.com/wp-content/uploads/2023/06/UYkJxsZDrK2SZUx6.zip

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

飘然心甜

暂无简介

0 文章
0 评论
489 人气
更多

推荐作者

13886483628

文章 0 评论 0

流年已逝

文章 0 评论 0

℡寂寞咖啡

文章 0 评论 0

笑看君怀她人

文章 0 评论 0

wkeithbarry

文章 0 评论 0

素手挽清风

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文