什么是流处理

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

1、什么是流处理?


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

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

image.png

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

来自维基百科;

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

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


2、典型用例


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

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

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

image.gif微信图片_20220527224753.png


3、流处理和Hadoop


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

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

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

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


4、选择流处理框架


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

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

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

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

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

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

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

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

相关文章
|
2月前
|
存储 SQL Apache
(一)走进阿里云实时计算Flink版-产品能力篇
阿里云实时计算Flink版是企业级高性能实时大数据处理平台,由Flink创始团队打造。提供VVR+Flash双引擎,性能达开源Flink的3-4倍;支持动态扩缩容、SQL开发、CEP规则热更新、湖流一体(Fluss+Paimon)、大模型集成等能力,全面兼容开源生态。(239字)
698 3
(一)走进阿里云实时计算Flink版-产品能力篇
|
缓存 druid Java
SpringBoot源码 | prepareContext方法解析
本文主要讲述SpringBoot启动流程源码中的prepareContext()方法
SpringBoot源码 | prepareContext方法解析
|
Kubernetes 负载均衡 应用服务中间件
【K8S系列】第十三讲:Ingress详解
【K8S系列】第十三讲:Ingress详解
9285 0
|
8月前
|
SQL 分布式计算 监控
终于有人把数据倾斜讲清楚了
本文深入剖析大数据处理中的“数据倾斜”问题,从现象到本质,结合真实踩坑经历,讲解数据倾斜的成因、典型场景及四步精准定位方法,帮助开发者从根本上理解和解决这一常见难题。
1682 29
终于有人把数据倾斜讲清楚了
|
Docker 容器
docker设置国内镜像源
docker设置国内镜像源
48106 5
|
7月前
|
人工智能 Kubernetes Cloud Native
Higress(云原生AI网关) 架构学习指南
Higress 架构学习指南 🚀写在前面: 嘿,欢迎你来到 Higress 的学习之旅!
2802 0
|
JSON 缓存 前端开发
SpringBoot的 ResponseEntity类讲解(具体讲解返回给前端的一些事情)
本文讲解了SpringBoot中的`ResponseEntity`类,展示了如何使用它来自定义HTTP响应,包括状态码、响应头和响应体,以及如何将图片从MinIO读取并返回给前端。
1353 3
|
前端开发 JavaScript 开发者
UI 框架:element-ui(二)
在当今快速发展的前端开发领域,用户界面的设计和交互体验日益成为软件成功的关键因素之一。Element UI,作为一款基于Vue.js的组件库,以其精美的界面和丰富的功能受到了广泛的关注与应用。它为开发者提供了一整套高质量的组件,帮助他们快速构建具有现代感的应用程序。 Element UI不仅注重美观的设计,还提供了良好的文档支持和社区活跃度,使得开发者能够轻松上手并解决实施过程中的各种问题。在这篇文章中,我们将深入探讨Element UI的基本特点、安装步骤,以及如何利用其强大的组件系统高效地构建用户友好的界面。无论您是初学者还是有经验的开发者,这篇文章都将为您开辟一条通向更高效开发的道路。
1311 4
|
SQL 存储 缓存
大厂 5 年实时数据开发经验总结,Flink SQL 看这篇就够了!
大厂 5 年实时数据开发经验总结,Flink SQL 看这篇就够了!
557 58
|
前端开发 JavaScript
VUE——Uncaught (in promise) TypeError: Cannot read property '__esModule' of undefined
VUE——Uncaught (in promise) TypeError: Cannot read property '__esModule' of undefined
521 0

热门文章

最新文章