동적 파일 정리
동적 파일 정리는 Delta Lake 테이블에서 많은 쿼리의 성능을 크게 향상시킬 수 있습니다. 동적 파일 정리는 분할되지 않은 테이블 또는 분할되지 않은 열의 조인에 특히 효율적입니다. 동적 파일 정리의 성능 영향은 종종 데이터 클러스터링과 관련이 있으므로 Z-Ordering을 사용하여 이점을 최대화하는 것이 좋습니다.
Important
Photon 지원 컴퓨팅을 사용하여 , UPDATE
및 DELETE
문에서 MERGE
동적 파일 정리를 사용해야 합니다. Photon을 사용하지 않는 경우 문만 SELECT
동적 파일 정리를 활용합니다.
동적 파일 정리에 대한 배경 및 사용 사례는 동적 파일 정리를 사용하여 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 테이블의 크기를 찾을 수 있습니다.