基于会话的Google数据流窗口中使用的密钥是什么?

时间:2017-03-06 14:49:38

标签: google-cloud-platform google-cloud-dataflow dataflow

我是数据流的新手。我在谷歌文档中看到了这个例子。

PCollection<String> items = ...;
  PCollection<String> session_windowed_items = items.apply(
    Window.<String>into(Sessions.withGapDuration(Duration.standardMinutes(10))));

1)在上面的例子中,dataflow用来创建窗口的关键是什么?

2)如果我的输入源是pubsub,我应该设置任何消息属性,以及如何指定在使用基于会话的窗口时应使用的关键数据流。

1 个答案:

答案 0 :(得分:2)

Window.into之后的第一个分组操作中将元素分配给会话。无论哪个键影响GroupByKeyCombine.perKeySum.perKeyCoGroupByKey等,操作都将成为分组键。

您无需设置消息属性即可指定密钥。相反,您可以编写ParDo来将现有元素转换为KV<K, V>值,并从中派生出密钥。

您可能需要阅读about group-by-key for了解详情。