基于Storm、Spark技术的实时应用,实时大数据分析

科技资讯 2020-02-15

大数据是业内热门的话题,大数据存储后如何做好实时处理是重要的技术焦点。作为当前最受关注的实时大数据开源平台项目, Storm和Spark都能为广大潜在用户提供良好的实时大数据处理功能。除在功能方面的部分交集外,Storm. Spark 还各自拥有独特的特性与市场定位。根据业务应用需求选用恰当的技术平台是大数据应用成功的关键。

企业过去曾执迷于数据仓库的开发。通过这些数据仓库,企业努力从每个可能的数据源获取数据并存储下来,再利用各种商业智能工具对数据仓库中存储的数据进行分析。但是开发数据仓库是一个复杂、耗时和大开销的过程,需要相当程度的资金和时间投入。Hadoop及其生态系统的涌现无疑为海量大数据问题的处理提供了一种新的方法或架构,通过这种低成本、可伸缩的解决方案,过去需要数天时间处理的成TB数据将在几小时内被处理完毕。尽管有着这样的优势,在其他- -些需要实时或准实时( 如亚秒级服务等级协议SLA)执行分析及获得业务洞见的应用场景中,Hadoop 还是面临着批处理性能方面的挑战。这类应用需求可称为实时分析(RTA) 或准实时分析(NRTA), 有时又被称为“快数据”,后者意味着做出准实时决策的能力,即要在有限的商务决策时间内提供卓有成效的数据支持。

为应对这些企业实时数据分析的应用场景,出现了一些高性能、 易于使用的开源平台。Apache Storm和Apache Spark是其中最为引人注目的代表性平台,能够为广大相关用户提供实时数据处理和分析功能。这两个项目都归属于Apache 软件基金会。尽管有部分功能重叠,这两个工具平台仍保持着各自的特色和不同功能。

考虑到以上的大数据技术背景,本篇结合实际用例介绍了应用Apache Storm和ApacheSpark进行实时大数据分析的实现过程,为读者提供了快速设计、应用和部署实时分析所需的技术。

今天给大家分享一份文档《实时大数据分析——基于Storm、Spark技术的实时应用》

本篇详细阐述了实时大数据分析的实现过程,主要包括大数据技术前景及分析平台,Storm 的熟悉,用Storm处理数据,Trident 概述和Storm性能优化,Kinesis 的熟悉,Spark 的熟悉,使用RDD编程,Spark的SQL查询引擎,用Spark Streaming分析流数据以及Lambda架构等内容。此外,文档还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。

基于Storm、Spark技术的实时应用,实时大数据分析

具体内容介绍

第1章“大数据技术前景及分析平台”奠定了全书的知识背景,主要包括大数据前景的综述、大数据平台上采用的各种数据处理方法、进行数据分析所用的各种平台。本章也介绍了实时或准实时批量分布式处理海量数据的范式。此外,还涉及处理高速/高频数据读写任务的分布式数据库。

基于Storm、Spark技术的实时应用,实时大数据分析

第2章“熟悉Storm”介绍了实时/准实时数据处理框架Apache Storm的概念、架构及编程方法。这里涉及多种Storm的基本概念,诸如数据源(spouts)、数据流处理组件(bolts)、并行度(parllelism)等。本章还以丰富的应用场景及范例说明如何利用Storm进行实时大数据分析。.

第3章“用Storm处理数据”着重于介绍ApacheStorm中用于处理实时或准实时数据流的内部操作,如过滤(filters)、连接(joins) 、聚合(aggregators) 等。这里展示了Storm对Apache Kafka.网络通信接口、文件系统等多种输入数据源的集成,最后利用Storm JDBC框架将处理过的数据保存起来。本章还提到Storm中多种企业关注的数据流处理环节,诸如可靠性、消息获取等。

第4章"Trident概述和Storm性能优化”验证了实时或准实时事务数据的处理。这里介绍了实时处理框架Trident,它主要用于处理事务数据。在此提到使用Trident 处理事务应用场景的几种架构。这一章还提到多 种概念和可用参数,进而探讨了它们对Storm框架与其任务的监测、优化以及性能调整诸方面的可用性。本章还涉及LMAX、环形缓冲区、ZeroMQ等Storm内部技术。

基于Storm、Spark技术的实时应用,实时大数据分析

第5章“熟悉Kinesis"提到了在云上可用的实时数据处理技术Kinesis,此技术是亚马逊云计算平台AWS中的实时数据处理服务。这里先说明了Kinesis 的架构和组成部分,接着用一个端到端的实时报警发生范例阐明了Kinesis 的用法,其中使用到KCL、KPL 等客户端库。

基于Storm、Spark技术的实时应用,实时大数据分析

第6章“熟悉Spark"介绍了Apache Spark 的基础知识,其中包括Spark程序的高级架构和构建模块。这里先从Spark 的纵览开始,接着提到了Spark在各种批处理和实时用户场景中的应用情况。这一章还深入讲到Spark的高级架构和各种组件。在本章的最后部分讨论了Spark集群的安装、配置以及第一个Spark任务的执行实现。

第7章“使用RDD编程”对SparkRDD进行了代码级的预排。这里说明了RDDAPI提供的各种编程操作支持,以便于使用者轻松实现数据转换和保存操作。在此还阐明了Spark对如Apache Cassandra这样的NoSQL数据库的集成。

基于Storm、Spark技术的实时应用,实时大数据分析

第8章“Spark的SQL查询引擎——Spark SQL"介绍了Spark SQL,这是一个和Spark协同工作的SQL风格的编程接口,可以帮助读者将Parquet或Hive这样的数据集快速应用到工作中,并支持通过DataFrame或原始SQL语句构建查询。本章同时推荐了- – 些Spark数据库的最佳实践案例。

第9章“用Spark Streaming 分析流数据”介绍了Spark 的又-一个扩展工具SparkStreaming,用于抓取和处理实时或准实时的流数据。这里顺承着Spark架构简明扼要地描述了Spark Streaming中用于数据加载、转换、持久化等操作的各种应用编程接口。为达成实时查询数据,本章将Spark SQL和Spark Streaming 进行了深入集成。本章最后讨论了Spark Streaming任务部署和监测等方面的内容。

基于Storm、Spark技术的实时应用,实时大数据分析

第10章“介绍Lambda架构”引领读者认识了新兴的Lambda架构,这个架构可以将实时和预计算的批量数据结合起来组成一个混合 型的大数据处理平台,从其中获得对数据的准实时理解。本章采用了Apache Spark 并讨论了Lambda 架构在实际应用场景中的实现。

基于Storm、Spark技术的实时应用,实时大数据分析

这份大数据的文档是我看过的文档中比较好的一份,今天推荐给大家,文档的内容很多,所以只罗列出来了章节目录,小编已经把这份文档整理好了,私信【学习】二字领取即可。

整理不易,如果大家喜欢小编的文章可以关注转发下,万分感谢!

Top