big*_*nty 1 google-cloud-dataflow apache-beam apache-beam-internals
窗格和窗户有什么区别?传入的元素被分组到窗口中。那么窗格包含什么呢?
我从 Beam 文档中获取了以下代码
.of(new DoFn<String, String>() {
public void processElement(@Element String word, PaneInfo paneInfo) {
}})
Run Code Online (Sandbox Code Playgroud)
每个元素都属于一个窗格吗?还是多个窗格?需要一个简单的类比来理解窗格和窗口
小智 6
窗口策略按事件时间对数据进行分区。一个元素可以属于多个窗口(滑动窗口)。
\n窗格由每个窗口的触发器触发。一个窗口可以发出多个窗格,具体取决于触发触发器的次数。如果没有触发器,当窗口超出范围时,它仅触发一个窗格。
\n然后可以通过累积模式将每个窗格发出的数据聚合在一起。
\n您可以将窗口视为一个类,将窗格视为该类的实例。一个元素可以属于一个或多个窗口,并被窗口用来发出窗格。
\n更多详细信息可以在有关窗口和触发器的会话中的编程指南中找到。
\n\n\n当指定触发器时,还必须设置window\xe2\x80\x99s累加模式。当触发器触发时,它会将窗口的当前内容作为窗格发出。由于触发器可以多次触发,因此累积模式决定系统是在触发器触发时累积窗玻璃还是丢弃它们。
\n
\n\n要设置一个窗口来累积触发器触发时生成的窗格,请在设置触发器时调用.accumulatedFiredPanes()。要设置窗口以丢弃触发的窗格,请调用 .discardingFiredPanes()。
\n
| 归档时间: |
|
| 查看次数: |
1015 次 |
| 最近记录: |