流式计算简介

1、数据的时效性

日常工作中,我们一般会先把数据存储在一张表中,然后对这张表的数据进行加工、分析。那这里是先存储在表中,那就会涉及到时效性这个概念。

如果我们处理以年,月为单位的级别的数据处理,进行统计分析,个性化推荐,那么数据的的最新日期离当前有几个甚至上月都没有问题。但是如果我们处理的是以天为级别,或者以小时甚至更小粒度的数据处理,那么就要求数据的时效性更高了。比如:对网站的实时监控,对异常日志的监控,这些场景需要工作人员立即响应,这样的场景下,传统的统一收集数据,再存到数据库中,再取出来进行分析就无法满足高时效性的需求了。

2、流式计算和批量计算

上面说到的:统一收集数据--存储到DB--对数据进行批量处理,就是我们说到的批量计算

而流式计算,顾名思义,就是对数据流进行处理,是实时计算。

主要原理是:

(1)与批量计算那样慢慢积累数据不同,流式计算将大量数据平摊到每个时间点上,连续地对小批量数据的进行传输,数据持续流动,计算完之后就丢弃。

(2)批量计算是维护一张表,对表进行实施各种计算逻辑。流式计算相反,是必须先定义好计算逻辑,提交到流式计算系统,这个计算作业逻辑在整个运行期间是不可更改的。

(3)计算结果上,批量计算对全部数据进行计算后传输结果,流式计算是每次小批量计算后,结果可以立刻投递到在线系统,做到实时化展现。

3、流式计算流程及特性

流程:

(1)提交流计算作业

(2)等待流式数据触发流计算作业

(3)计算结果持续不断对外写出

特性:

(1)实时,低延迟

(2)无界,数据是不断输出无终止的

(3)连续,计算连续进行,计算之后数据就会被丢弃

4、相关产品

Strom:Twitter 开发的第一代流处理系统。

Heron:Twitter 开发的第二代流处理系统。

Spark streaming:是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。

Flink:是一个针对流数据和批数据的分布式处理引擎。

Apache Kafka:由Scala写成。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
流式计算是一种处理连续数据流的计算模式。在Python中,PySpark是一个流式计算框架,它提供了处理实时数据流的功能。PySpark流式计算使用了低延迟的连续流,可以处理大规模的数据,并且具有高吞吐量和高可扩展性。 PySpark流式计算的特点包括: - 实时处理:PySpark可以实时处理数据流,无需等待所有数据都到达。 - 高吞吐量:PySpark可以处理大规模的数据流,并具有高吞吐量的能力。 - 高可扩展性:PySpark可以在分布式环境中运行,可以轻松扩展以处理更大规模的数据。 - 容错性:PySpark具有容错性,可以处理数据流中的故障和错误。 下面是一个简单的示例,演示了如何使用PySpark进行流式计算: ```python from pyspark import SparkContext from pyspark.streaming import StreamingContext # 创建SparkContext对象 sc = SparkContext("local[2]", "StreamingExample") # 创建StreamingContext对象,设置批处理间隔为1秒 ssc = StreamingContext(sc, 1) # 创建一个DStream,从TCP socket接收数据流 lines = ssc.socketTextStream("localhost", 9999) # 对接收到的数据进行处理 words = lines.flatMap(lambda line: line.split(" ")) wordCounts = words.map(lambda word: (word, 1)).reduceByKey(lambda a, b: a + b) # 打印每个单词的计数结果 wordCounts.pprint() # 启动流式计算 ssc.start() # 等待计算完成 ssc.awaitTermination() ``` 这个示例创建了一个流式计算应用程序,它从TCP socket接收数据流,并对接收到的数据进行单词计数。最后,它打印每个单词的计数结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值