根据 flink 流媒体文档:
窗口函数可以是 ReduceFunction、FoldFunction 或 WindowFunction 之一。前两个可以更有效地执行(参见状态大小部分),因为 Flink 可以在每个窗口的元素到达时增量聚合它们。
这同样适用于批处理模式吗?在下面的示例中,我正在从 cassandra 读取 ~36go 的数据,但我希望减少的输出要小得多(~0.5go)。运行此作业是否需要 flink 将整个输入存储在内存中,或者它是否足够智能以对其进行迭代
DataSet<MyRecord> input = ...; DataSet<MyRecord> sampled = input .groupBy(MyRecord::getSampleKey) .reduce(MyRecord::keepLast);
小怪兽爱吃肉
相关分类