0


[平台运维、Hadoop]Spark Streaming 实时计算框架

##国庆节🎈🎈

博主:发量不足🌈🌈

下期预告:Spark的DStream

实时计算的基础知识

一.什么是实时计算

在大数据技术中,有离线计算、批量计算、实时计算以及流式计算,其中,离线计算和实时计算指的是数据处理的延迟;批量计算和流式计算指的是数据处理的方式。

二.常用的实时计算框架

  1. Apache Spark Streaming

Apache Spark Streming即Apache公司免费、开源的实时计算框架。它主要是把输入数据按时间进行切分,并对切分的数据块进行并行计算处理,处理的速度可以达到秒级别。Netflix公司通过Kafka和Spark Streming构建了实时引擎.对每天从各种数据源接收到的数十亿数据进行分析,从而完成电影的推荐功能。

  1. Apache Storm

Apache Storm即Twitter公司免费、开源贡献给Apache的一个分布 式实时计算系统。它可以简单、高效、可靠地实时处理海量数据,处理数据的速度达到毫秒级别,并可将处理后的结果数据保存到持久化介质中(如数据库、HDFS)。阿里巴巴公司的JStorm,就是参考Apache Storm开发的实时计算框架,可以说是Strom的增强版本,在网络IO、线程模型、资源调度、可用性及稳定性上都做了极大的改进,供很多企业使用。

  1. Apache Flink

Apache Flink 即Apache公司开源的计算框架。它不仅可以支持离线处理,还可以支持实时处理。由于离线处理和实时处理所提供的SLA(服务等级协议)是完全不相同的,所以离线处理一般需要支持低延迟的保证,而实时处理则需要支持高吞吐、高效率的处理。

  1. Yahoo! S4(Simple Scalable Streaming System)

Yahoo! S4即Yahoo公司开源的实时计算平台。它是通用的、分布式的、可扩展的,并且还具有容错和可插拔能力,供开发者轻松地处理源源不断产生的数据。

Spark Streaming的基础知识

一.Spark Streaming简介

Spark Streming是构建在Spark上的实时计算框架,且是对Sparks Core API的一个扩展,它能够实现对流数据进行实时处理,并具有很好的可扩展性、高吞吐量和容错性。

Spark Streaming特点:

(1)易用性。

Spark Streaming支持Java、Python、Scala等编程语言,可以像编写离线程序一样编写实时计算的程序。

(2)容错性。

Spark Streaming在没有额外代码和配置的情况下,可以恢复丢失的数据。对于实时计算来说,容错性至关重要。首先要明确一下Spark中RDD的容错机制,即每一一个 RDD都是一个不可变的分布式可重算的数据集,它记录着确定性的操作继承关系(lineage),所以只要输人数据是可容错的,那么任意一个RDD的分区(Partition)出错或不可用,都可以使用原始输人数据经过转换操作重新计算得到。

(3)易整合性。

Spark Streaming 可以在Spark上运行,并且还允许重复使用相同的代码进行批处理。也就是说,实时处理可以与离线处理相结合,实现交互式的查询操作

标签: 大数据 spark java

本文转载自: https://blog.csdn.net/m0_57781407/article/details/127142533
版权归原作者 发量不足 所有, 如有侵权,请联系我们删除。

“[平台运维、Hadoop]Spark Streaming 实时计算框架”的评论:

还没有评论