다음을 통해 공유


Azure Databricks에 대한 최적화 권장 사항

Azure Databricks는 대규모 ETL 처리에서 임시 대화형 쿼리에 이르는 레이크하우스에서 다양한 워크로드를 지원하는 많은 최적화를 제공합니다. 이러한 최적화의 대부분은 자동으로 수행됩니다. Azure Databricks를 사용하면 혜택을 얻을 수 있습니다. 또한 대부분의 Databricks 런타임 기능에는 Azure Databricks에서 테이블을 만드는 데 사용되는 기본 형식인 Delta Lake가 필요합니다.

Azure Databricks는 대부분의 워크로드를 최적화하는 기본값을 구성합니다. 그러나 경우에 따라 구성 설정을 변경하면 성능이 향상됩니다.

Databricks Runtime 성능 향상

참고 항목

최신 Databricks Runtime을 사용하여 최신 성능 향상을 활용합니다. 여기에 설명된 모든 동작은 Databricks Runtime 10.4 LTS 이상에서 기본적으로 사용하도록 설정됩니다.

  • 디스크 캐싱은 컴퓨팅 클러스터에 연결된 디스크 볼륨에 데이터를 로드하여 Parquet 데이터 파일에 대해 반복되는 읽기를 가속화합니다.
  • 동적 파일 정리는 쿼리 조건자와 일치하는 데이터 파일이 없는 디렉터리를 건너뛰어 쿼리 성능을 향상시킵니다.
  • 낮은 순서 섞기 병합MERGE 작업에 의해 다시 작성되는 데이터 파일의 수를 줄이고 ZORDER 클러스터를 다시 계산해야 하는 필요성을 줄입니다.
  • Apache Spark 3.0에는 많은 작업에 대해 향상된 성능을 제공하는 적응형 쿼리 실행이 도입되었습니다.

성능 향상을 위한 Databricks 권장 사항

  • Azure Databricks에서 테이블을 복제하여 원본 데이터 세트의 깊거나 단순한 복사본을 만들 수 있습니다.
  • 비용 기반 최적화 프로그램은 테이블 통계를 활용하여 쿼리 성능을 가속화합니다.
  • Spark SQL을 사용하여 문자열을 구문 분석하지 않고 JSON 문자열상호 작용할 수 있습니다.
  • 고차 함수는 일반적인 Spark 연산자가 없는 많은 작업에 대해 기본 제공 최적화된 성능을 제공합니다. 고차 함수는 사용자 정의 함수에 비해 성능 이점을 제공합니다.
  • Azure Databricks는 배열, 구조체 및 JSON 문자열을 포함하여 복잡한 데이터 형식을 사용하기 위한 다양한 기본 제공 연산자와 특수 구문을 제공합니다.
  • 범위 조인에 대한 설정을 수동으로 조정할 수 있습니다. 범위 조인 최적화를 참조 하세요.

옵트인 동작

  • Azure Databricks는 기본적으로 쓰기 직렬화 가능 격리 보장을 제공합니다. 격리 수준을 직렬화 가능으로 변경하면 동시 실행 작업의 처리량을 줄일 수 있지만 읽기 순차성이 필요한 경우 필요할 수 있습니다.
  • 블룸 필터 인덱스를 사용하여 지정된 조건과 일치하는 레코드가 포함되지 않은 데이터 파일을 검색할 가능성을 줄일 수 있습니다.