Dataflow GroupBy -> 基于键的多个输出

Dataflow GroupBy -> multiple outputs based on keys

有什么简单的方法可以根据组键将 GroupBy 的输出重定向到多个输出文件吗?

Bin.apply(GroupByKey.<String, KV<Long,Iterable<TableRow>>>create())
.apply(ParDo.named("Print Bins").of( ... ) 
.apply(TextIO.Write.to(*Output file based on key*))

如果 Sink 是解决方案,请与我分享示例代码好吗?

谢谢!

Beam 2.2 将包含一个 API 来做到这一点 - TextIO.write().to(DynamicDestinations),参见 source。现在,如果您想使用这个 API,您可以使用 2.2.0-SNAPSHOT 版本。请注意,此 API 是实验性的,可能会在 Beam 2.3 或更高版本中发生变化。