我有一个用例,我需要从DoFn输出多个T
。因此DoFn
函数返回PCollection<List<T>>
。我想将它转换为PCollection<T>
,以便稍后在管道中我可以像以下一样过滤:
PCollection<T> filteredT = filterationResult.apply(Filter.byPredicate(p -> p.equals(T) == T));
目前我能想到的最好的方法是,从List<T>
函数返回ParDo
,我返回KV<String,List<T>>
,每个项目使用相同的键。然后在管道中我可以在下面结合结果:
filterationResult.apply("Group", GroupByKey.<String, List<T>>create())
或者我可以多次从DoFn(其中c.output(T)
是传入的c
个对象)中调用ProcessContext
吗?