Google cloud dataflow 如何丢弃数据流中第一个滑动窗口中的数据?

Google cloud dataflow 如何丢弃数据流中第一个滑动窗口中的数据?,google-cloud-dataflow,Google Cloud Dataflow,我希望在管道执行开始时识别并丢弃不完整的窗口(独立于滑动)。例如: 如果我每小时计算一次事件的数量,并且开始时间为:每小时55次,那么我希望第一个窗口中的值为1/12,然后平滑上升到“正确”的平均值。因为数据可能以用户定义的方式任意延迟,启动管道时,保证丢失数据的窗口可能只是松散连接 您需要一些带外方式来指示它们是哪些窗口。如果我正在实施这样的事情,我会考虑一些方法,按照这个顺序,我认为: 丢弃基于数据点不足的异常值。如果您的数据集能够容忍,那么它似乎对许多数据问题都很稳健(统计学家可能不同意

我希望在管道执行开始时识别并丢弃不完整的窗口(独立于滑动)。例如:


如果我每小时计算一次事件的数量,并且开始时间为:每小时55次,那么我希望第一个窗口中的值为1/12,然后平滑上升到“正确”的平均值。

因为数据可能以用户定义的方式任意延迟,启动管道时,保证丢失数据的窗口可能只是松散连接

您需要一些带外方式来指示它们是哪些窗口。如果我正在实施这样的事情,我会考虑一些方法,按照这个顺序,我认为:

  • 丢弃基于数据点不足的异常值。如果您的数据集能够容忍,那么它似乎对许多数据问题都很稳健(统计学家可能不同意)
  • 基于窗口中未分布的数据点丢弃异常值(同上)
  • 基于结果的某些特征而不是输入丢弃异常值(统计学家更可能会说不要这样做,因为你已经在平均了)
  • 使用自定义管道选项指示感兴趣窗口的最小开始/结束时间
选择比“开始时间”更稳健的方法的一个原因是,如果数据生产者或任何中间系统等出现故障(即使有交付保证,水印也可能会继续运行,并使所有数据都可以丢弃)