我们可以使用 Flink 的 Batch / DataSet API 拥有窗口吗?



尽管有这个问题,但在数据集API中似乎没有窗口化,但我想知道为什么会这样,因为从概念上讲,能够处理有边界的源并仍然具有窗口操作似乎是有意义的。

我错了吗?有可能在DataSetUnsortedGrouping或类似的东西上有窗口吗?

如果不是,我想一个替代方案是使用Beam。

数据集API不提供用于窗口化的内置运算符。主要原因是它早于DataStream API,并且最初并不是为此类用例设计的。然而,它提供了实现自定义窗口逻辑的所有构建块。

还有表API/SQL,它是用于批处理和流处理的统一API。在内部,表API和SQL查询被转换为数据流和数据集作业。对于批处理查询,窗口操作被转换为自定义窗口实现(如前所述(,主要基于reduceGroupsortPartitionmapPartition。但是,并不是所有的窗口类型都支持批处理查询。

ApacheBeam还统一了批处理和流处理,这可能也是一个可行的选择。

相关内容

  • 没有找到相关文章

最新更新