워크플로에 대한 서버리스 컴퓨팅을 사용하여 Azure Databricks 작업 실행

Important

워크플로에 대한 서버리스 컴퓨팅은 공개 미리 보기제공됩니다. 자격 및 사용 설정에 대한 자세한 내용은 서버리스 컴퓨팅 공개 미리 보기 사용을 참조하세요.

Important

워크플로에 대한 서버리스 컴퓨팅의 공개 미리 보기는 송신 트래픽 제어를 지원하지 않으므로 작업에는 인터넷에 대한 모든 권한이 있습니다.

워크플로에 대한 서버리스 컴퓨팅을 사용하면 인프라를 구성하고 배포하지 않고도 Azure Databricks 작업을 실행할 수 있습니다. 서버리스 컴퓨팅을 사용하면 데이터 처리 및 분석 파이프라인을 구현하는 데 집중하고, Azure Databricks는 워크로드에 대한 컴퓨팅 최적화 및 크기 조정을 포함하여 컴퓨팅 리소스를 효율적으로 관리합니다. 자동 크기 조정 및 광자는 작업을 실행하는 컴퓨팅 리소스에 대해 자동으로 사용하도록 설정됩니다.

워크플로 자동 최적화를 위한 서버리스 컴퓨팅은 워크로드에 따라 인스턴스 유형, 메모리 및 처리 엔진과 같은 적절한 리소스를 선택하여 컴퓨팅을 자동으로 최적화합니다. 자동 최적화는 실패한 작업도 자동으로 다시 시도합니다.

Databricks는 Azure Databricks 작업의 안정성을 보장하면서 플랫폼에 대한 향상된 기능 및 업그레이드를 지원하도록 Databricks 런타임 버전을 자동으로 업그레이드합니다. 워크플로에 대해 서버리스 컴퓨팅에서 사용하는 현재 Databricks 런타임 버전을 보려면 서버리스 컴퓨팅 릴리스 정보를 참조하세요.

클러스터 만들기 권한이 필요하지 않으므로 모든 작업 영역 사용자는 서버리스 컴퓨팅을 사용하여 워크플로를 실행할 수 있습니다.

이 문서에서는 Azure Databricks 작업 UI를 사용하여 서버리스 컴퓨팅을 사용하는 작업을 만들고 실행하는 방법을 설명합니다. 작업 API, Databricks 자산 번들 및 Python용 Databricks SDK를 사용하여 서버리스 컴퓨팅을 사용하는 작업 만들기 및 실행을 자동화할 수도 있습니다.

  • 작업 API를 사용하여 서버리스 컴퓨팅을 사용하는 작업을 만들고 실행하는 방법에 대한 자세한 내용은 REST API 참조의 작업을 참조하세요.
  • Databricks 자산 번들을 사용하여 서버리스 컴퓨팅을 사용하는 작업을 만들고 실행하는 방법에 대한 자세한 내용은 Databricks 자산 번들을 사용하여 Azure Databricks에서 작업 개발을 참조 하세요.
  • Python용 Databricks SDK를 사용하여 서버리스 컴퓨팅을 사용하는 작업을 만들고 실행하는 방법에 대한 자세한 내용은 Python용 Databricks SDK를 참조하세요.

요구 사항

  • Azure Databricks 작업 영역에 Unity 카탈로그가 활성화되어 있어야 합니다.
  • 워크플로에 대한 서버리스 컴퓨팅은 공유 액세스 모드를 사용하므로 워크로드에서 이 액세스 모드를 지원해야 합니다.
  • Azure Databricks 작업 영역은 지원되는 지역에 있어야 합니다. Azure Databricks 지역을 참조 하세요.

서버리스 컴퓨팅을 사용하여 작업 만들기

서버리스 컴퓨팅은 Notebook, Python 스크립트, dbt 및 Python 휠 작업 유형에서 지원됩니다. 기본적으로 서버리스 컴퓨팅은 새 작업을 만들고 지원되는 작업 유형 중 하나를 추가할 때 컴퓨팅 유형으로 선택됩니다.

서버리스 작업 만들기

Databricks는 모든 작업 작업에 서버리스 컴퓨팅을 사용하는 것이 좋습니다. 워크플로에 대한 서버리스 컴퓨팅에서 작업 유형을 지원하지 않는 경우 필요할 수 있는 작업의 태스크에 대해 다른 컴퓨팅 유형을 지정할 수도 있습니다.

서버리스 컴퓨팅을 사용하도록 기존 작업 구성

작업을 편집할 때 지원되는 작업 유형에 대해 서버리스 컴퓨팅을 사용하도록 기존 작업을 전환할 수 있습니다. 서버리스 컴퓨팅으로 전환하려면 다음 중 하나를 수행합니다.

  • 작업 세부 정보 측면 패널에서 컴퓨팅에서 교환을 클릭하고 새로 만들기를 클릭하고 설정을 입력하거나 업데이트한 다음 업데이트를 클릭합니다.
  • 컴퓨팅 드롭다운 메뉴를 클릭하고 다운 케어 서버리스를 선택합니다.

작업을 서버리스 컴퓨팅으로 전환

서버리스 컴퓨팅을 사용하여 Notebook 예약

작업 UI를 사용하여 서버리스 컴퓨팅을 사용하여 작업을 만들고 예약하는 것 외에도 Databricks Notebook에서 직접 서버리스 컴퓨팅을 사용하는 작업을 만들고 실행할 수 있습니다. 예약된 Notebook 작업 만들기 및 관리를 참조하세요.

Spark 구성 매개 변수 설정

다음 Spark 구성 매개 변수는 세션 수준에서만 설정할 수 있지만 작업의 일부인 Notebook에서 설정할 수 있습니다. Notebook에서 Apache Spark 구성 속성 가져오기 및 설정을 참조하세요.

  • spark.sql.legacy.timeParserPolicy
  • spark.sql.session.timeZone
  • spark.sql.shuffle.partitions

Notebook 환경 및 종속성 구성

Notebook 작업에 대한 라이브러리 종속성 및 환경 구성을 관리하려면 Notebook의 셀에 구성을 추가합니다. 다음 예제에서는 작업 영역 파일과 파일을 사용하여 pip install Python 라이브러리를 requirements.txt 설치하고 세션 변수를 spark.sql.session.timeZone 설정합니다.

%pip install -r ./requirements.txt
%pip install simplejson
%pip install /Volumes/my/python.whl
%pip install /Workspace/my/python.whl
%pip install https://some-distro.net/popular.whl
spark.conf.set('spark.sql.session.timeZone', 'Europe/Amsterdam')

여러 Notebook에서 동일한 환경을 설정하려면 단일 Notebook을 사용하여 환경을 구성한 다음 매직 명령을 사용하여 %run 환경 구성이 필요한 모든 Notebook에서 해당 Notebook을 실행할 수 있습니다. %run을 사용하여 전자 필기장 가져오기를 참조하세요.

Notebook이 아닌 작업에 대한 환경 및 종속성 구성

Python 스크립트, Python 휠 또는 dbt 작업과 같이 지원되는 다른 작업 유형의 경우 기본 환경에는 설치된 Python 라이브러리가 포함됩니다. 설치된 라이브러리 목록을 보려면 워크플로 배포에 대한 서버리스 컴퓨팅의 기반이 되는 Databricks 런타임 버전의 릴리스 정보에서 설치된 Python 라이브러리 섹션을 참조하세요. 워크플로에 대해 서버리스 컴퓨팅에서 사용하는 현재 Databricks 런타임 버전을 보려면 서버리스 컴퓨팅 릴리스 정보를 참조하세요. 작업에 설치되지 않은 라이브러리가 필요한 경우 Python 라이브러리를 설치할 수도 있습니다. 작업 영역 파일, Unity 카탈로그 볼륨 또는 공용 패키지 리포지토리에서 Python 라이브러리를 설치할 수 있습니다. 작업을 만들거나 편집할 때 라이브러리를 추가하려면 다음을 수행합니다.

  1. 환경 및 라이브러리 드롭다운 메뉴에서 기본 환경 옆을 클릭 편집 아이콘 하거나 + 새 환경 추가를 클릭합니다.

    기본 환경 편집

  2. 환경 구성 대화 상자에서 + 라이브러리 추가를 클릭합니다.

  3. 라이브러리 아래의 드롭다운 메뉴에서 종속성 유형을 선택합니다.

  4. 파일 경로 텍스트 상자에 라이브러리의 경로를 입력합니다.

  • 작업 영역 파일의 Python 휠의 경우 경로는 절대 경로여야 하며 /Workspace/.

  • Unity 카탈로그 볼륨의 Python 휠의 경우 경로는 다음과 여야 /Volumes/<catalog>/<schema>/<volume>/<path>.whl합니다.

  • 파일의 requirements.txt 경우 PyPi를 선택하고 .를 입력합니다 -r /path/to/requirements.txt.

    작업 라이브러리 추가

  1. 확인 또는 + 라이브러리 추가를 클릭하여 다른 라이브러리를 추가합니다.
  2. 작업을 추가하는 경우 작업 만들기를 클릭합니다. 작업을 편집하는 경우 작업 저장을 클릭합니다.

재시도를 허용하지 않도록 서버리스 컴퓨팅 자동 최적화 구성

워크플로 자동 최적화를 위한 서버리스 컴퓨팅은 작업을 실행하는 데 사용되는 컴퓨팅을 자동으로 최적화하고 실패한 작업을 다시 시도합니다. 자동 최적화는 기본적으로 사용하도록 설정되며, Databricks는 중요한 워크로드가 한 번 이상 성공적으로 실행되도록 사용하도록 설정하는 것이 좋습니다. 그러나 idempotent가 아닌 작업과 같이 한 번에 실행해야 하는 워크로드가 있는 경우 작업을 추가하거나 편집할 때 자동 최적화를 해제할 수 있습니다.

  1. 다시 시도 옆의 추가(또는 편집 아이콘 재시도 정책이 이미 있는 경우)를 클릭합니다.
  2. 다시 시도 정책 대화 상자에서 검사 서버리스 자동 최적화를 사용하도록 설정합니다(추가 재시도를 포함할 수 있음).
  3. 확인을 클릭합니다.
  4. 작업을 추가하는 경우 작업 만들기를 클릭합니다. 작업을 편집하는 경우 작업 저장을 클릭합니다.

워크플로에 서버리스 컴퓨팅을 사용하는 작업 비용 모니터링

청구 가능한 사용량 시스템 테이블을 쿼리하여 워크플로에 서버리스 컴퓨팅을 사용하는 작업의 비용을 모니터링할 수 있습니다. 이 테이블은 서버리스 비용에 대한 사용자 및 워크로드 특성을 포함하도록 업데이트되었습니다. 청구 가능한 사용량 시스템 테이블 참조를 참조하세요.

Spark 쿼리에 대한 세부 정보 보기

워크플로에 대한 서버리스 컴퓨팅에는 메트릭 및 쿼리 계획과 같은 Spark 문에 대한 자세한 런타임 정보를 보기 위한 새로운 인터페이스가 있습니다. 작업에 포함된 Spark 문에 대한 쿼리 인사이트를 보려면 서버리스 컴퓨팅에서 실행됩니다.

  1. 사이드바에서 워크플로를 클릭합니다워크플로 아이콘.
  2. 이름 열에서 인사이트를 보려는 작업 이름을 클릭합니다.
  3. 인사이트를 보려는 특정 실행을 클릭합니다.
  4. 작업 실행 쪽 패널의 컴퓨팅 섹션에서 쿼리 기록을 클릭합니다.
  5. 쿼리 기록으로 리디렉션되며, 작업 실행 ID에 따라 미리 필터링됩니다.

쿼리 기록 사용에 대한 자세한 내용은 쿼리 기록을 참조하세요.

제한 사항

워크플로 제한에 대한 서버리스 컴퓨팅 목록은 서버리스 컴퓨팅 릴리스 정보에서 서버리스 컴퓨팅 제한을 참조하세요.