다음을 통해 공유


동적 파일 정리

동적 파일 정리는 Delta Lake 테이블에서 많은 쿼리의 성능을 크게 향상시킬 수 있습니다. 필터 문 또는 WHERE 절을 포함하는 쿼리에 대해 동적으로 파일을 정리하는 트리거입니다. MERGE, UPDATEDELETE 문에서 동적 파일 정리를 사용하려면 Photon 지원 컴퓨팅을 사용해야 합니다. 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)): 동적 파일 정리를 트리거하는 데 필요한 조인의 프로브 쪽에 있는 델타 테이블의 최소 크기(바이트)를 나타냅니다. 프로브 쪽이 매우 크지 않은 경우, 필터를 통과시킬 필요는 아마 없고 그냥 전체 테이블을 검사하면 됩니다. DESCRIBE DETAIL table_name 명령을 실행한 다음 sizeInBytes 열을 확인하여 Delta 테이블의 크기를 찾을 수 있습니다.
  • spark.databricks.optimizer.deltaTableFilesThreshold(기본값은 10): 동적 파일 정리를 트리거하는 데 필요한 조인의 프로브 쪽에 있는 델타 테이블의 파일 수를 나타냅니다. 프로브 쪽 테이블에 임계값보다 적은 파일이 포함된 경우 동적 파일 정리가 트리거되지 않습니다. 테이블에 몇 가지 파일만 있는 경우 동적 파일 정리를 사용하도록 설정하는 것은 좋지 않을 수 있습니다. DESCRIBE DETAIL table_name 명령을 실행한 다음 numFiles 열을 확인하여 Delta 테이블의 크기를 찾을 수 있습니다.