什么是流处理

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

一、什么是流处理?

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

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

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

来自维基百科;架构

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

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

二、典型用例

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

流处理能够解决业务问题的一些用例包括:oop

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

三、流处理和Hadoop

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

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

DWH,Hadoop和流处理彼此很好地互补。所以,在大数据时代,集成层显得尤其重要,由于您必须组合愈来愈多的不一样接收器和源。

自2016年以来,出现了一个称为Streaming SQL的新想法。咱们将一种语言称为“流SQL”,该语言使用户可以编写相似于查询的SQL来查询流数据。如今,几乎全部流处理器都支持流SQL。

四、选择流处理框架

数据流产品有不少,很难知道从哪里开始研究它们,哪些产品能够作什么等等。

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

  • 用于流分析的流处理编程语言

  • 可视化开发和调试,而不是编码

  • 实时分析

  • 监控和警报

  • 支持容错和高度优化的性能

  • 产品成熟度

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

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

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

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

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

更多Flink,Kafka等相关技术博文,科技资讯,欢迎关注实时流式计算 公众号后台回复 “电子书” 下载300页Flink实战电子书

相关文章
相关标签/搜索