Java 展平无法返回CoGroupByKey中的任何数据

Java 展平无法返回CoGroupByKey中的任何数据,java,google-cloud-dataflow,apache-beam,dataflow,Java,Google Cloud Dataflow,Apache Beam,Dataflow,我目前正在使用ApacheBeam2.4。我的管道包括一个CoGroupByKey步骤,它不返回任何数据。 在UI中展开任务时,数据不会超出CoGroupByKey的内部flant.PCollection 我的代码的结构如示例所示 static final TupleTag simpleEventTag1=new TupleTag(){}; 静态最终TupleTag simpleEventTag2=新TupleTag(){}; PCollection pt1=。。。; PCollection p

我目前正在使用ApacheBeam2.4。我的管道包括一个CoGroupByKey步骤,它不返回任何数据。 在UI中展开任务时,数据不会超出CoGroupByKey的内部flant.PCollection

我的代码的结构如示例所示

static final TupleTag simpleEventTag1=new TupleTag(){};
静态最终TupleTag simpleEventTag2=新TupleTag(){};
PCollection pt1=。。。;
PCollection pt2=。。。;
PCollection coGbkResultCollection=
KeyedPCollectionTuple.of(simpleEventTag1,pt1)
.和(simpleEventTag2,pt2)
.apply(CoGroupByKey.create());
我的窗口是:

Window.<String>into(FixedWindows.of(Duration.standardMinutes(1)))
    .triggering(Repeatedly.forever(AfterProcessingTime
    .pastFirstElementInPane()
    .plusDelayOf(Duration.standardSeconds(20))
    )
)
.withAllowedLateness(Duration.ZERO)
.discardingFiredPanes()
Window.into(FixedWindows.of(Duration.standardMinutes(1)))
.触发(重复。永久(后处理时间
.pastFirstElementInPane()
.plusDelayOf(持续时间.标准秒(20))
)
)
.允许延迟(持续时间为零)
.丢弃Firedpanes()
pt1和pt2都是从PCollectionTuple检索的,并且都不是空的。它们共享相同的FixedWindow属性。 我不知道我做错了什么,也找不到任何方法来调试这个问题。有什么想法吗


您的固定窗口有多大?水印通过窗口末尾后(假设使用默认触发器),数据将仅流经内部
展平.PCollection
。在
CoGroupByKey
之后还有其他步骤吗?如果没有,则需要在管道的末尾添加一个接收器(例如,可以只是将完成消息写入发布/订阅),以在使用DataflowRunnerYes时触发所有中间步骤的执行,在最终将输出数据放入PubSub主题之前,我在额外的DoFn中使用CoGbkResult。@onairos额外的DoFn是否会删除任何具有空值的共组结果?如果是这样的话,很可能由于当前的积极窗口和触发器而丢弃了组合结果。否,对于每个键,我提取两个子PCollection并应用特定逻辑,然后将输出推送到字符串主题中。我在模块中导入了apache beam CoGroupBy java文件,并尝试从中调试/添加日志记录。
Window.<String>into(FixedWindows.of(Duration.standardMinutes(1)))
    .triggering(Repeatedly.forever(AfterProcessingTime
    .pastFirstElementInPane()
    .plusDelayOf(Duration.standardSeconds(20))
    )
)
.withAllowedLateness(Duration.ZERO)
.discardingFiredPanes()