有没有什么简单的方法可以根据 Group 键将 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 是解决方案,请您与我分享示例代码吗?
谢谢!
有没有什么简单的方法可以根据 Group 键将 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)
参见源代码。目前,如果您想使用此 API,可以使用 2.2.0-SNAPSHOT 版本。请注意,此 API 是实验性的,可能会在 Beam 2.3 或更高版本中发生变化。