다음을 통해 공유


동적 파일 정리

동적 파일 정리는 Delta Lake 테이블에서 많은 쿼리의 성능을 크게 향상시킬 수 있습니다. 필터 문 또는 WHERE 절을 포함하는 쿼리에 대한 동적 파일 정리 트리거입니다. Photon 지원 컴퓨팅을 사용하여 , UPDATEDELETE 문에서 MERGE동적 파일 정리를 사용해야 합니다. Photon을 사용하지 않는 경우 문만 SELECT 동적 파일 정리를 활용합니다.

동적 파일 정리는 분할되지 않은 테이블 또는 분할되지 않은 열의 조인에 특히 효율적입니다. 동적 파일 정리의 성능 영향은 종종 데이터 클러스터링과 관련이 있으므로 Z-Ordering을 사용하여 이점을 최대화하는 것이 좋습니다.

동적 파일 정리에 대한 배경 및 사용 사례는 동적 파일 정리를 사용하여 Delta Lake에서 더 빠른 SQL 쿼리를 참조하세요.

구성

동적 파일 정리는 다음 Apache Spark 구성 옵션에 의해 제어됩니다.

  • spark.databricks.optimizer.dynamicFilePruning(기본값: true): 최적화 프로그램이 필터를 푸시다운하도록 지시하는 기본 플래그입니다. false로 설정하면 동적 파일 정리가 적용되지 않습니다.
  • spark.databricks.optimizer.deltaTableSizeThreshold(기본값: 10,000,000,000 bytes (10 GB)): 동적 파일 정리를 트리거하는 데 필요한 조인의 프로브 쪽에 있는 Delta 테이블의 최소 크기(바이트)를 나타냅니다. 프로브 쪽이 매우 크지 않은 경우 필터를 푸시하는 것은 가치가 없으며 전체 테이블을 검사하기만 하면 됩니다. DESCRIBE DETAIL table_name 명령을 실행한 다음, sizeInBytes 열을 확인하여 Delta 테이블의 크기를 찾을 수 있습니다.
  • spark.databricks.optimizer.deltaTableFilesThreshold (기본값: 10동적 파일 정리를 트리거하는 데 필요한 조인의 프로브 쪽에 있는 델타 테이블의 파일 수를 나타냅니다. 프로브 쪽 테이블에 임계값보다 적은 파일이 포함된 경우 동적 파일 정리가 트리거되지 않습니다. 테이블에 파일이 몇 개만 있는 경우 동적 파일 정리를 활성화하는 것이 좋지 않을 수 있습니다. DESCRIBE DETAIL table_name 명령을 실행한 다음, numFiles 열을 확인하여 Delta 테이블의 크기를 찾을 수 있습니다.