Beam-介绍

简介

Beam提供了一套统一的API来处理两种数据处理模式(批和流),让我们只需要将注意力专注于在数据处理的算法上,而不用再花时间去对两种数据处理模式上的差异进行维护。

Beam每6周更新一个小版本。

编程模型

Beam-介绍_第1张图片

  • 第一层是现有各大数据处理平台(spark或者flink),在Beam中它们也被称为Runner。
  • 第二层,是可移植的统一模型层,各个Runners将会依据中间抽象出来的这个模型思想,提供一套符合这个模型APLs出来,以供上层转换。
  • 第三层,是SDK层。SDK层将会给工程师提供不同语言版本的API来编写数据处理逻辑,这些逻辑就会被转化Runner中相应API来运行。
  • 第四层,是可扩展库层。工程师可以根据已有的BeamSDK,贡献分享出更多的新开发者SDK,IO连接器,转换操作库等等。
  • 第五层,我们可以看作是应用层,各种应用将会通过下层的BeamSDK或工程师贡献的开发者SDK来实现。
  • 第六层,社区。

窗口将无边界数据根据事件时间分成一个个有限数据集。我们可以看看批处理这个特例。在批处理中,我们其实是把一个无穷小到无穷大的时间窗口赋予了数据集。

水印是用来表示与数据事件时间相关联的输入完整性的概念。对于事件时间X的水印是指:数据处理逻辑已经得到了所有时间小于X的无边界数据。在数据处理中,水印是用来测量数据进度的。

触发器指的是表示在具体什么时候,数

你可能感兴趣的:(beam)