在Apache Beam管道中按密钥收集类型分组

问题描述

我在Apache Beam Go SDK中有一个管道。

pcoll := beam.GroupByKey(s,src)

问题是,在GroupByKey转换之后,我想使用ParDo转换进一步处理它。我有类型问题,因为Go希望我按如下方式定义ParDo函数输入:

value CoGBK<[]uint8,[]uint8>

,但是Go中没有CoGBK类型。有没有办法在Apache Beam Go SDK中定义这种类型?

解决方法

好吧,当我们收到一条需要值CoGBK<[]uint8,[]uint8>类型的消息时,我们实际上应该做的是应用以下转换: beam.ParDo0(s,func(key []uint8,values func(*[]uint8) bool) {},pcoll) Go将其解释为CoGBK<[]uint8,[]uint8>