Ниже приведен мой набор данных.API-справочник по API: найти распределение использования устройства для каждого пользователя вместе с другим агрегированием
user,device,time_spent,video_start
userA,mob,5,1
userA,desk,5,2
userA,desk,5,3
userA,mob,5,2
userA,mob,5,2
userB,desk,5,2
userB,mob,5,2
userB,mob,5,2
userB,desk,5,2
Я хочу узнать об агрегировании ниже для каждого пользователя.
user total_time_spent device_distribution
userA 20 {mob:60%,desk:40%}
userB 20 {mob:50%,desk:50%}
Может ли кто-нибудь помочь мне достичь этого, используя искру 2.0 API, желательно на Java. Я попытался использовать UserDefinedAggregateFunction, но он не поддерживает группу внутри группы, поскольку мне приходится группировать каждую группу пользователей по устройству, чтобы найти агрегированное время, затрачиваемое на каждое устройство.