apache beam 的版本是2.15.0.在此代码中,类Airport用作 KV 实例的键,最后计算每个Airport实例的平均值。c.output(KV.of(stats.airport, stats.timestamp));但是apache beam如何在内部比较两个键并返回两个实例是否相同?如果所有类成员具有相同的值,两个实例是否被视为相同?文档没有提到两个键的比较。如果有人能帮助我理解,我将不胜感激。
1 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
这实际上在GroupByKey
转换文档中进行了解释,这是在聚合的幕后完成的操作Mean
:
不是通过常规 Java ( )
K
比较类型的两个键是否相等,而是首先使用输入的键对每个键进行编码,然后比较编码的字节。这允许有效的并行评估。请注意,这要求键的 是确定性的(请参阅)。如果密钥不确定,则在管道构建时会引发异常。Object.equals
java.lang.Object
Coder
PCollection
Coder
Coder.verifyDeterministic()
Coder
请注意,Mean
使用which 是+Combine.PerKey
的“简写” 。GroupByKey
Combine.GroupedValues
添加回答
举报
0/150
提交
取消