什么是流处理

简介: 流处理正变得像数据处理一样流行。流处理已经超出了其原来的实时数据处理的范畴,它正在成为一种提供数据处理(包括批处理),实时应用乃至分布式事务的新方法的技术。

1、什么是流处理?


流处理是不断合并新数据以计算结果的动作。在流处理中,输入数据不受限制,并且没有预定的开始或结束。它只是形成一系列事件,这些事件到达流处理系统,例如信用卡交易,网站点击或来自物联网设备的传感器读数。

流是一种数据分发技术,其中数据生产者将数据记录写入有序数据流,数据使用者可以从中按相同顺序读取数据。这是一个简单的数据流图,说明了数据生产者,数据流和数据使用者。

image.png

每个数据流产品都对使用案例和要支持的处理技术进行了一系列假设。这些假设导致了某些设计选择,这些选择影响可以使用它们实现的流处理行为的类型。

来自维基百科;

流处理是一种计算机编程范例,等效于数据流编程,事件流处理和反应式编程,它使某些应用程序可以更轻松地利用有限形式的并行处理。 流处理是一项强大的技术,可以扫描来自传感器,信用卡刷卡,点击流和其他输入的大量数据,并几乎即时找到可行的见解。例如,流处理可以检测到包含数百万合法购买的流中的单个欺诈性交易,充当推荐引擎来确定特定客户在实际购物时要显示什么广告或促销,或者计算出最佳价格以用于只需几秒钟即可完成汽车服务。

术语“流处理”是指数据以某些外部系统或多个外部系统产生的事件的连续“流”形式进入处理引擎,并且处理引擎的运行速度如此之快,以至于所有决策都无需停止数据流和首先存储信息。


2、典型用例


流处理正在迅速获得普及并在各种业务领域中找到应用程序。随着证券交易所从场内交易转向电子交易,它在金融行业的首次使用得到了证实。如今,在几乎每个行业中,无论是通过人工活动,机器数据还是传感器数据生成流数据的任何地方,它都变得有意义。假设它起飞了,那么物联网将增加数据的数量,种类和速度,从而导致流处理技术的应用程序急剧增加。

流处理可以解决业务问题的一些用例包括:

  • 网络监控
  • 情报和监视
  • 风险管理
  • 电子商务
  • 欺诈识别
  • 智能订单路由
  • 交易成本分析
  • 定价与分析
  • 市场数据管理
  • 算法交易
  • 数据仓库扩充

image.gif微信图片_20220527224753.png


3、流处理和Hadoop


大数据架构包含用于实时分析的流处理,以及用于存储各种数据和长时间运行的计算的Hadoop。

Hadoop最初是从MapReduce开始的,后者提供批处理,其中查询耗时数小时,数分钟或最多数秒钟。对于大数据量的复杂转换和计算,这将是非常有用的。但是,对于临时数据探索和实时分析而言,它并不是很好。但是,多家供应商已经进行了改进,并为Hadoop添加了功能,使其不仅具有批处理框架的功能。

DWH,Hadoop和流处理彼此很好地互补。因此,在大数据时代,集成层显得尤为重要,因为您必须组合越来越多的不同接收器和源。

自2016年以来,出现了一个称为Streaming SQL的新想法。我们将一种语言称为“流SQL”,该语言使用户能够编写类似于查询的SQL来查询流数据。现在,几乎所有流处理器都支持流SQL。


4、选择流处理框架


数据流产品有很多,很难知道从哪里开始研究它们,哪些产品可以做什么等等。

在做出决定之前,必须进行典型的评估过程(长清单,短清单,概念证明)。

  • 用于流分析的流处理编程语言
  • 可视化开发和调试,而不是编码
  • 实时分析
  • 监控和警报
  • 支持容错和高度优化的性能
  • 产品成熟度

考虑一下项目需要上述哪些功能。此外,在做出选择之前,必须评估使用框架的成本,生产率,减少的工作量以及产品上市时间。

我们正处于一个数据的时代。在此过程中,时间至关重要,而速度将决定赢家和输家。

当必须快速连续处理数据(即必须实时计算和迅速反应)时,需要进行流处理。这个要求越来越多地出现在各个领域。市场上已经有许多不同的框架和产品。

许多用例需要快速,实时的决策。尽管可以使用数据库或批处理来实现它们,但是使用这种技术只会越来越复杂。相反,流提供了一种更自然的模型来考虑,捕获和实现这些实时流用例。流SQL提供了一种简单而强大的语言来对流用例进行编程。

现实情况是,大多数数据的价值会随着时间而下降

相关文章
|
SQL 分布式计算 大数据
统一批处理流处理——Flink批流一体实现原理
统一批处理流处理——Flink批流一体实现原理
1607 0
统一批处理流处理——Flink批流一体实现原理
|
2月前
|
消息中间件 监控 物联网
流处理系统
流处理系统
|
消息中间件 存储 Java
kafkaStream处理实时流式计算
kafkaStream处理实时流式计算
191 0
|
7月前
|
传感器 监控 Java
流计算中的数据延迟是什么?为什么它在流计算中很重要?
流计算中的数据延迟是什么?为什么它在流计算中很重要?
206 0
|
存储 分布式计算 大数据
大数据处理平台的架构演进:从批处理到实时流处理
大数据处理平台的架构演进:从批处理到实时流处理
348 0
|
消息中间件 机器学习/深度学习 分布式计算
什么是实时流式计算?
实时流式计算,也就是RealTime,Streaming,Analyse,在不同的领域有不同的定义,这里我们说的是大数据领域的实时流式计算。 实时流式计算,或者是实时计算,流式计算,在大数据领域都是差不多的概念。那么,到底什么是实时流式计算呢?
1013 58
什么是实时流式计算?
|
存储 分布式计算 搜索推荐
为什么会有流处理?
批处理技术,它读取一组文件作为输入,并生成一组新的文件作为输出。输出是 衍生数据(derived data) 的一种形式;即若需要,可通过再次运行批处理过程来重新创建数据集。我们看到了如何使用这个简单而强大的想法来建立搜索索引、推荐系统、做分析等。
96 0
|
消息中间件 资源调度 Oracle
对Flink流处理模型的抽象
对Flink流处理模型的抽象
对Flink流处理模型的抽象
|
消息中间件 存储 大数据
实时流处理框架之Storm的安装与部署
实时流处理框架之Storm的安装与部署
257 0
实时流处理框架之Storm的安装与部署
|
存储 测试技术 数据处理
流计算
在过去几年里,已为流计算开发了数百项应用。下面简单介绍了一些应用,着重强调了流计算支持的使用类型。面对日益增长的海量数据,精细化营销的挑战.通常电信行业会面临海量数据,异构数据,实时主动分析等挑战.
552 0
流计算