Google cloud dataflow 如果我应用了固定窗口,我是否总是从'window()获得一个IntervalWindow`

Google cloud dataflow 如果我应用了固定窗口,我是否总是从'window()获得一个IntervalWindow`,google-cloud-dataflow,Google Cloud Dataflow,如果我实现了一个可以访问窗口的DoFn,附带的条件是正在转换的PCollection已经应用了一些非全局窗口策略,即,FixedWidows我是否保证为FixedWindows获得一个IntervalWindow?,是的。通常不会。唯一的一般保证是您将获得一个BoundedWindow。目前,SDK提供的所有非全局窗口(固定窗口,滑动窗口,会话)都使用间隔窗口s。但是,对于非全局窗口策略,只使用BoundedWindows是完全合法的。对于FixedWindows,是的。通常不会。唯一的一般保证

如果我实现了一个可以访问窗口的DoFn,附带的条件是正在转换的PCollection已经应用了一些非全局窗口策略,即,
FixedWidows
我是否保证为
FixedWindows
获得一个
IntervalWindow

,是的。通常不会。唯一的一般保证是您将获得一个
BoundedWindow
。目前,SDK提供的所有非全局窗口(
固定窗口
滑动窗口
会话
)都使用
间隔窗口
s。但是,对于非全局窗口策略,只使用
BoundedWindow
s是完全合法的。

对于
FixedWindows
,是的。通常不会。唯一的一般保证是您将获得一个
BoundedWindow
。目前,SDK提供的所有非全局窗口(
固定窗口
滑动窗口
会话
)都使用
间隔窗口
s。但是,拥有一个只使用
BoundedWindow
s的非全局窗口策略是完全合法的。

是的。
window()
方法返回当前
WindowFn
将元素放入的任何类型的窗口。因此,对于
FixedWindows
,它将始终返回
间隔窗口

它还将始终返回单个窗口。因此,如果您使用的是
滑动窗口
并且每个元素都被放置在5个不同的窗口中,那么
DoFn的
processElement()
注释为
RequiresWindowAccess
DoFn的
将为元素放置到的每个窗口调用一次(每个元素调用5次)。

是。
window()
方法返回当前
WindowFn
将元素放入的任何类型的窗口。因此,对于
FixedWindows
,它将始终返回
间隔窗口


它还将始终返回单个窗口。因此,如果您使用的是
滑动窗口
并且每个元素都被放置在5个不同的窗口中,那么
DoFn的
processElement()
注释为
RequiresWindowAccess
DoFn的
processElement>将为放置元素的每个窗口调用一次(每个元素调用5次)。

很高兴知道!我猜您的活动是在数据流平台上工作的,是否有可能向包含独占上界的有界窗口添加方法?如果您认为有可能我会在github上提出问题,那么不必破坏
maxTimestamp
的返回值就可以了。您想怎么办?我们可以考虑添加一个排他性上限方法,但也有其他选择。所有
BoundedWindow
s能够返回某种“代表性”时间戳(用于文件名等)会更有帮助吗?使用
toString()
获取窗口描述的方法是什么?是。基本上基于处理元素所在的窗口,我希望将数据发送到特定的行键(想想bigtable/cassandra)。理想情况下,我希望有一个包容性的开始,而不是排他性的结束,但两者都符合我的目的。所以“信息时间戳”似乎是一个很好的表达方式。一般来说,BoundedWindow没有开始时间。我们只要求他们有一个结局。如果你知道这是一个间歇期,你可以投下它,让你现在开始的时间。我们将研究如何提供更多信息。谢谢你的建议!很高兴知道!我猜您的活动是在数据流平台上工作的,是否有可能向包含独占上界的有界窗口添加方法?如果您认为有可能我会在github上提出问题,那么不必破坏
maxTimestamp
的返回值就可以了。您想怎么办?我们可以考虑添加一个排他性上限方法,但也有其他选择。所有
BoundedWindow
s能够返回某种“代表性”时间戳(用于文件名等)会更有帮助吗?使用
toString()
获取窗口描述的方法是什么?是。基本上基于处理元素所在的窗口,我希望将数据发送到特定的行键(想想bigtable/cassandra)。理想情况下,我希望有一个包容性的开始,而不是排他性的结束,但两者都符合我的目的。所以“信息时间戳”似乎是一个很好的表达方式。一般来说,BoundedWindow没有开始时间。我们只要求他们有一个结局。如果你知道这是一个间歇期,你可以投下它,让你现在开始的时间。我们将研究如何提供更多信息。谢谢你的建议!谢谢你的澄清。很遗憾,我没有代表投票支持你的答案。谢谢你的澄清。不幸的是,我没有代表投票支持你的答案。