2016-08-23 2 views
0

이 집계를 수행하려고 할 때 메모리가 부족합니다. 그것은 잘 동작하지만 데이터의 작은 하위 집합에서 매우 느립니다. 나는 pySpark에서 이걸 실행하고있어. 특정 그룹을 기반으로 한 컬럼의 평균을 취하는 다른 방법이 있습니까?Spark에서 집계를 수행하는 가장 좋은 방법

df = df.groupBy("id", "timestamp").avg("accel_lat", "accel_long", "accel_vert") 
+0

이것은 꽤 효과적입니다. <2.0.0에서는 "예전 스타일"스케줄링을 사용하여 조금을 얻을 수 있지만 그게 전부입니다. 특히 느린 경우 구성 문제가 있음을 알 수 있습니다. – zero323

답변

0

내가 생각할 수있는 유일한 다른 점은 id 및 timestamp의 데이터 구조입니다. 이 둘은 문자열이 아닌지 확인하십시오. 형식의 크기를 줄이거 나 df의 스키마를 변경하십시오.

관련 문제