为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕运维8079593 2023-07-19 10:38:52
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.equalsjava.lang.ObjectCoderPCollectionCoderCoder.verifyDeterministic()Coder

请注意,Mean使用which 是+Combine.PerKey的“简写” 。GroupByKeyCombine.GroupedValues


查看完整回答
反对 回复 2023-07-19
  • 1 回答
  • 0 关注
  • 81 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信