join 및 groupBy 대신 SQL 창 함수 사용 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

join 및 groupBy 대신 SQL 창 함수 사용

창 함수(Spark 설명서)는 이라고 하는 행 그룹에 대해 현재 레코드와 어떤 식으로든 관련된 계산을 수행합니다. 예를 들어 현재 행과 동일한 파티션 또는 프레임에 있을 수 있습니다. 창 함수는 Spark에 내장되어 있으며 집계 함수와 유사합니다. SUM 또는와 같은 집계 함수는 행 그룹에서 MAX 작동하고 모든 그룹에 대해 단일 반환 값을 계산합니다. 창 함수는 이동 평균을 계산하거나 현재 행의 상대 위치를 기반으로 행 값에 액세스하는 등의 작업을 처리하는 데 유용합니다.

Spark groupBy 함수는 데이터를 그룹으로 수집하고 그룹화된 데이터에 대한 집계 함수를 수행합니다. 를 사용하면가 데이터를 groupBy Spark 부분적으로 먼저 집계한 다음 축소된 데이터 세트를 셔플합니다. 창 함수를 사용하면 전체 데이터 세트가 셔플링됩니다. 창 함수는 더 빠른 런타임을 제공할 수 있습니다.

매우 큰 데이터 세트에서는 열의 카디널리티가 크면 창 함수를 사용하는 것이 좋습니다. 그러나 열의 카디널리티가 작으면 데이터 집계가 작으며 집계된 결과를 조인에서 브로드캐스트할 수 있습니다.