다음은 제 데이터 세트입니다.spark dataset 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%}
Java에서 spark 2.0 API를 사용하여이를 달성 할 수있는 사람이 있습니까? UserDefinedAggregateFunction을 사용하여 시도했지만 그룹별로 그룹을 지원하지 않으므로 각 사용자 그룹을 장치별로 그룹화해야 각 장치에서 집계 된 시간을 찾을 수 있습니다.