java如何区分apache beam中KV实例中的两个键?

java如何区分apache beam中KV实例中的两个键?,java,apache-beam,Java,Apache Beam,apache beam的版本是2.15.0 在这种情况下,类别机场用作KV实例的关键,最后,计算每个机场实例的平均值 c.output(KV.of(stats.airport, stats.timestamp)); 但是,如果两个实例是否相同,ApacheBeam如何在内部比较两个键并返回结果呢?如果所有类成员具有相同的值,两个实例是否被视为相同的?没有提到两个键的比较 如果有人能帮助我理解,我将不胜感激。这实际上在GroupByKey转换中得到了解释,这是在引擎盖下进行的平均聚合操作: 比较

apache beam的版本是2.15.0

在这种情况下,类别机场用作KV实例的关键,最后,计算每个机场实例的平均值

c.output(KV.of(stats.airport, stats.timestamp));
但是,如果两个实例是否相同,ApacheBeam如何在内部比较两个键并返回结果呢?如果所有类成员具有相同的值,两个实例是否被视为相同的?没有提到两个键的比较


如果有人能帮助我理解,我将不胜感激。

这实际上在GroupByKey转换中得到了解释,这是在引擎盖下进行的平均聚合操作:

比较两个K类型的键是否相等,而不是通过常规Java Object.equalsjava.lang.Object,但首先对 使用输入PCollection键的编码器的键,以及 然后比较编码的字节。这允许有效的并行 评价请注意,这要求密钥的编码者 你看。如果密钥编码器是 不确定,在管道构造时抛出异常 时间


请注意,它是GroupByKey+Combine.GroupedValues的“速记”。

!谢谢你花时间。