본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

Velox를 사용하여 Spark 가속화하기

Spark 가속화는 하드웨어 최적화 기술을 이용하여 Spark 작업 성능을 향상시키는 기법입니다. 플랫폼 특정 기능을 활용하여 대규모 데이터 워크로드 처리 시간을 크게 줄여 작업 실행 속도를 높이고 리소스 활용도를 개선할 수 있습니다.

빠른 시작

Spark 가속화는 기존 Spark 파이프라인에서 사용할 수 있습니다. 로직에 변경을 할 필요가 없습니다.

Python 변환 파이프라인에서 네이티브 가속화를 사용하려면 다음을 완료해야 합니다:

  1. Python 저장소를 최신 버전으로 업그레이드합니다.
  2. 오프-힙 메모리 프로필을 설정합니다.
  3. 다음 코드 스니펫에서 나타낸 것처럼 VELOX 백엔드를 활성화합니다:
Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # 필요한 라이브러리를 임포트 합니다. from transforms.api import configure, ComputeBackend, Input, Output, transform_df # @configure 데코레이터를 사용하여 실행환경 설정을 합니다. # "EXECUTOR_MEMORY_MEDIUM", "EXECUTOR_MEMORY_OFFHEAP_FRACTION_HIGH"를 설정하고, 백엔드로는 VELOX를 사용합니다. @configure( ["EXECUTOR_MEMORY_MEDIUM", "EXECUTOR_MEMORY_OFFHEAP_FRACTION_HIGH"], backend=ComputeBackend.VELOX) # @transform_df 데코레이터를 사용하여 데이터 변환 작업을 정의합니다. # '/Project/folder/output' 경로로 결과를 출력하고, '/Project/folder/input' 경로의 데이터를 입력으로 받습니다. @transform_df( Output('/Project/folder/output'), source_df=Input('/Project/folder/input'), ) # 실제 데이터 변환 작업을 수행하는 함수를 정의합니다. def compute(source_df): ...

가속화된 스파크 메모리 구성

네이티브 가속화된 스파크 프로젝트를 최적화하기 위해 먼저 EXECUTOR_MEMORY_OFFHEAP_FRACTION_HIGH 설정을 사용하여 오프힙 메모리를 설정하세요. 이 메모리는 JVM 외부에서 일부 작업을 처리하는 Velox에 사용됩니다. 성능을 관찰하고, 필요에 따라 오프힙 메모리를 늘리거나 줄이세요.

분수 오프힙 프로파일을 사용하려면 EXECUTOR_MEMORY_X 프로파일도 설정해야 합니다. 작업에 이미 이 프로파일이 있을 가능성이 높습니다.