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,...}'。這假定累加器適合內存,並且可能具有不同的性能特徵 - 在某些情況下更好,在其他情況下更糟糕。如果你想了解更多的細節,請把它分成一個單獨的問題。 –