20 年清华扫地僧,整理的 Storm、Spark 学习笔记
本篇根据业务应用需求选用恰当的技术平台,既涵盖了不同实时数据处理框架和技术的基础知识,又论述了大数据批量及实时处理的差异化细节,还深入探讨了使用 Storm、Spark 进行大数据处理的技术和程序设计概念。
以丰富的应用场景及范例说明如何利用 Storm 进行实时大数据分析,既涉及了 Storm 的组件及关键概念内部实现的基础,又整合了 Kafka 来处理实时事务性数据,还探讨了 Storm 微小批处理抽象延伸的 Trident 框架和性能优化。此外,包括了使用 Kinesis 服务在亚马逊云上处理流数据的内容。本篇后半部分着重介绍了如何利用 Spark 为实时和批量分析开发通用型的企业架构和应用,既可通过 RDD 编程轻松实现数据转换和保存操作,亦介绍了 Spark SQL 访问数据库的实践案例,还扩展了 Spark Streaming 来分析流数据,最后利用 Spark Streaming 和 Spark 批处理等实现了实时批处理兼顾的 Lambda 架构。
第 1 章:大数据技术前景及分析平台
================
本章探讨了大数据技术领域的各个方面。已经讨论过大数据环境中所使用的主要术语、定义、缩略语、组件和基础设施,还描述了大数据分析平台的架构。此外,还从顺序处理到批处理,到分布式,再到实时处理探讨了大数据的各种进深计算方法。在本章结尾,相信大家者现在已经熟悉了大数据及其特点。
第 2 章:熟悉 Storm
===========
本章涉及不少 Storm 及其历史沿革等方面内容,介绍了 Storm 的组件以及 Storm 某些关键概念的内部实现。其中浏览分析了实际的代码,现在希望大家可以搭建 Storm(本地版和集群版)并运行 Storm,编程部分基本范例。
第 3 章:用 Storm 处理数据
==============
《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】
本章重点在于让读者熟悉 Kafka 及其基础知识。此外,还整合了 Kafka 和 Storm,探索了 Storm 的文件和套接字等其他数据源,然后介绍了可靠性和锚定等概念,还对 Storm 的联结和批处理模式建立了理解。最后,通过 Storm 与数据库的集成,了解并实现了 Storm 中的持久性。本章介绍了一些动手练习示例,建议大家自行尝试实现。
第 4 章:Trident 概述和 Storm 性能优化
=======================
本章重点在于让大家熟悉 Trident 框架,以其作为 Storm 微小批处理抽象的延伸。我们已经看到了 Trident 的各种关键概念和操作,然后还探索了 Storm 内部与 LMAX、ZeroMQ 和 Netty 的联系。最后总结了 Storm 性能优化方面的内容。
第 5 章:熟悉 Kinesis
=============
在本章中,讨论了 Kinesis 用于处理实时数据馈送的架构。使用 AWSAPI 探索了 Kinesis 流生产者和消费者的开发。最后,还提到诸如 KPL 和 KCL 此类更高级的 API 以及它们的示例,来作为创建 Kinesis 生产者和消费者的推荐机制。
第 6 章:熟悉 Spark
===========
在本章中,讨论了 Spark 及其各种组件的架构,还谈到了 Spark 框架的一些核心组件,如 RDD。此外,讨论了 Spark 及其各种核心 API 的包装结构,还配置了 Spark 集群,并用 Scala 和 Java 编写并执行了第一个 Spark 作业。
第 7 章:使用 RDD 编程
===========
在本章中,讨论了 SparkRDDAPI 提供的各种转换及操作,还讨论了各种现实问题,并通过使用 Spark 转换及操作来解决它们。最后,还讨论了 Spark 提供的用于性能优化的持久性/高速缓存。
第 8 章:Spark 的 SQL 查询引擎一 Spark SQL
===========================
本章涵盖了 Spark SQL 架构和各种组件在内的多个方面,还讨论了在 Scala 中编写 Spark SQL 作业的完整过程,同时讨论了将 Spark RDD 转换为 DataFrame 的各种方法。在本章的中间部分,执行了 Spark SQL 的各种示例,包括使用如 Hive/Parquet 这些不同数据格式以及如模式演化和模式合并等重要方面,最后讨论了 Spark SQL 代码/查询的性能调优的各个方面。
第 9 章:用 Spark Streaming 分析流数据
=========================
在本章中,讨论了 Spark Streaming 的各个方面。讨论了 Spark Streaming 的架构、组件和封装结构,还编码和执行了第一个 Spark Streaming 应用程序,也使用 Spark Streaming 和 SparkSQL 对芝加哥犯罪数据进行了实时分析。
评论