如何获得Flink中sum函数中存在的元素数量?

时间:2017-11-02 17:55:01

标签: apache-flink flink-streaming

我想得到sum函数中存在的元素数量。 例如:

val counts = text.flatMap { _.toLowerCase.split("\\W+") }
      .map { (_, 1) }
      .keyBy(0)
      .timeWindow(Time.minutes(10))
      .sum(1)

输出:

hello : 4
world : 2
foo : 8
my : 5

我希望输出与元素数量相对应的数字4。 我找不到像count

这样的函数

1 个答案:

答案 0 :(得分:0)

内置聚合功能不是很灵活。只有summinmaxminBymaxBy。这些只适用于元组类型,不能组合。

如果您想要执行除单个简单聚合之外的任何操作,则必须实现自定义ReduceFunctionAggregateFunction。 另一个选择是查看支持组窗口的Table API或SQL。