0
我有下面提到的头部数据。其中,1个组织具有n
应用,1个应用具有n
用户(在不同的应用程序相同的用户名是指不同的用户):使用数据流执行嵌套聚合
org, app, users, spend_time
现在,我需要找到每个用户的总平均spend_time,每个应用程序和每个组织。
这样做的最好方法是什么?
P.S.我目前通过使(org,app,user)的关键字找到每个用户平均花费时间(org,app)的关键字来找到每个应用的平均花费时间来解决此问题。
是否有可能进行多场组合在密钥聚集操作的关键?目前我实施DoFn加入(组织,应用程序,用户)来制作单个密钥,然后执行聚合并拆分结果。 – Lionel
我不确定你到底在问什么。也许你想用'Combine'来计算你感兴趣的所有三个聚合。如果是这样,你必须编写自己定制的'CombineFn'。累加器应该是这样的:'{org-count,org-sum,地图 app-count,地图 app-sum,...}'。这假定累加器适合内存,并且可能具有不同的性能特征 - 在某些情况下更好,在其他情况下更糟糕。如果你想了解更多的细节,请把它分成一个单独的问题。 –