다음을 통해 공유


서버리스 컴퓨팅을 위한 모범 사례

이 문서에서는 Notebook 및 작업에서 서버리스 컴퓨팅을 사용하는 모범 사례 권장 사항을 소개합니다.

이러한 권장 사항에 따라 Azure Databricks에서 워크로드의 생산성, 비용 효율성 및 안정성을 향상시킬 수 있습니다.

서버리스 컴퓨팅으로 워크로드 마이그레이션

공유 서버리스 컴퓨팅 환경에서 사용자 코드를 격리하기 위해 Azure Databricks는 Lakeguard 를 활용하여 Spark 엔진 및 다른 사용자로부터 사용자 코드를 격리합니다.

이 때문에 일부 워크로드에서는 서버리스 컴퓨팅에서 계속 작동하려면 코드 변경이 필요합니다. 제한 사항 목록은 Serverless 컴퓨트 제한 사항을 참조하세요.

특정 워크로드는 다른 워크로드보다 손쉽게 마이그레이션할 수 있습니다. 다음 요구 사항을 충족하는 워크로드는 가장 손쉽게 마이그레이션할 수 있습니다.

  • 액세스하는 데이터는 Unity 카탈로그에 저장해야 합니다.
  • 워크로드는 표준 컴퓨팅과 호환되어야 합니다.
  • 워크로드는 Databricks Runtime 14.3 이상과 호환되어야 합니다.

워크로드가 서버리스 컴퓨팅에서 작동하는지 테스트하려면 표준 액세스 모드 및 Databricks 런타임이 14.3 이상인 클래식 컴퓨팅 리소스에서 실행합니다. 실행에 성공하면 워크로드를 마이그레이션할 준비가 된 것입니다.

대부분의 이전 워크로드는 원활하게 마이그레이션되지 않습니다. 모든 항목을 다시 코딩하는 대신 Azure Databricks는 새 워크로드를 만들 때 서버리스 컴퓨팅 호환성의 우선 순위를 지정할 것을 권장합니다.

Python 패키지 버전 지정

서버리스 컴퓨팅으로 마이그레이션할 때 Python 패키지를 특정 버전에 고정하여 재현 가능한 환경을 보장합니다. 버전을 지정하지 않으면 패키지가 서버리스 환경 버전에 따라 다른 버전으로 확인될 수 있으므로 새 패키지를 설치해야 하므로 대기 시간이 늘어날 수 있습니다.

예를 들어 requirements.txt 파일에는 다음과 같은 특정 패키지 버전이 포함되어야 합니다.

numpy==2.2.2
pandas==2.2.3

서버리스 환경 버전

서버리스 컴퓨팅은 기존 Databricks 런타임 버전 대신 환경 버전을 사용합니다. 워크로드 호환성을 관리하는 방법의 변화를 나타냅니다.

  • Databricks 런타임 방법: 워크로드에 대한 특정 Databricks 런타임 버전을 선택하고 수동으로 업그레이드를 관리하여 호환성을 유지합니다.
  • 서버리스 접근 방식: 환경 버전에 대한 코드를 작성하고 Azure Databricks는 기본 서버를 독립적으로 업그레이드합니다.

환경 버전은 안정적인 클라이언트 API를 제공하여 워크로드 호환성을 유지하면서 Azure Databricks는 워크로드에 대한 코드 변경 없이도 성능 향상, 보안 향상 및 버그 수정을 독립적으로 제공합니다.

각 환경 버전에는 워크로드에 대한 이전 버전과의 호환성을 유지하면서 업데이트된 시스템 라이브러리, 기능 및 버그 수정이 포함됩니다. Azure Databricks는 릴리스 날짜로부터 3년 동안 각 환경 버전을 지원하여 업그레이드를 계획하기 위한 예측 가능한 수명 주기를 제공합니다.

서버리스 워크로드에 대한 환경 버전을 선택하려면 환경 버전 선택을 참조하세요. 사용 가능한 환경 버전 및 해당 기능에 대한 자세한 내용은 서버리스 환경 버전을 참조하세요.

외부 시스템에서 데이터 수집

서버리스 컴퓨팅은 JAR 파일 설치를 지원하지 않으므로 외부 데이터 원본에서 데이터를 수집하는 데 JDBC 또는 ODBC 드라이버를 사용할 수 없습니다.

수집에 사용할 수 있는 대체 전략은 다음과 같습니다.

수집 대안

서버리스 컴퓨팅을 사용하는 경우 다음 기능을 사용하여 데이터를 이동하지 않고도 데이터를 쿼리할 수 있습니다.

  • 데이터 중복을 제한하거나 가능한 가장 최신 데이터를 쿼리하려는 경우 Databricks는 Delta Sharing를 사용할 것을 권장합니다. Delta Sharing이란?을 참조하세요.
  • 임시 보고 및 개념 증명 작업을 수행하려는 경우 Databricks는 적합한 선택지로 레이크하우스 페더레이션을 사용할 것을 권장합니다. 레이크하우스 페더레이션을 사용하면 외부 시스템에서 전체 데이터베이스를 Azure Databricks에 동기화할 수 있으며 Unity 카탈로그를 통해 관리됩니다. 레이크하우스 페더레이션이란?을 참조하세요.

이러한 기능 중 하나 또는 두 가지를 모두 사용해 본 뒤 쿼리 성능 요구 사항을 충족하는지 확인합니다.

지원되는 Spark 구성

서버리스 컴퓨팅에서 Spark의 구성을 자동화하기 위해 Azure Databricks는 대부분의 Spark 구성을 수동으로 설정하는 지원을 제거했습니다. 지원되는 Spark 구성 매개변수 목록을 보려면 서버리스 노트북 및 작업을 위한 Spark 속성 구성을 참조하세요.

서버리스 컴퓨팅에서 작업이 실행되다가 지원되지 않는 스파크 구성을 설정하면 실패할 것입니다.

서버리스 컴퓨팅 비용 모니터링

서버리스 컴퓨팅 비용 모니터링 시에는 다음과 같은 다양한 기능을 사용할 수 있습니다.