开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink用窗口函数聚合 options该怎么搞啊?

Flink用窗口函数聚合 options该怎么搞啊?image.png

展开
收起
真的很搞笑 2023-09-28 12:10:04 173 0
1 条回答
写回答
取消 提交回答
  • Flink 用窗口函数聚合可以使用 select() 算子。select() 算子可以对窗口中的数据进行聚合操作,并返回聚合结果。select() 算子的第一个参数是聚合函数,第二个参数是聚合的字段。

    例如,下面的代码使用 sum() 函数对窗口中的数据进行求和操作,并将结果返回到 result 流中:

    DataStream readings = ...;

    // 创建一个滚动窗口,窗口大小为 5 秒,滑动间隔为 1 秒
    WindowedStream windowedReadings = readings
    .window(TumblingEventTimeWindows.of(Time.seconds(5)))
    .assignTimestampsAndWatermarks(new AscendingTimestampExtractor() {
    @Override
    public long extractTimestamp(SensorReading reading) {
    return reading.getTimestamp();
    }
    });

    // 使用 select() 算子对窗口中的数据进行求和操作
    DataStream result = windowedReadings
    .select(new AggregateFunction() {
    @Override
    public Double createAccumulator() {
    return 0.0;
    }

      @Override
      public Double add(SensorReading reading, Double accumulator) {
        return accumulator + reading.getTemperature();
      }
    
      @Override
      public Double getResult(Double accumulator) {
        return accumulator;
      }
    
      @Override
      public Double merge(Double a, Double b) {
        return a + b;
      }
    });
    

    更多关于窗口函数的用法的详细信息,请参阅 Flink 文档。

    2023-10-12 11:29:14
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载