다음을 통해 공유


서버리스 환경 구성

이 문서에서는 서버리스 Notebook의 환경 쪽 패널을 사용하여 종속성, 서버리스 예산 정책, 메모리 및 환경 버전을 구성하는 방법을 설명합니다. 이 패널은 Notebook의 서버리스 설정을 관리할 수 있는 단일 위치를 제공합니다. 이 패널에 구성된 설정은 Notebook이 서버리스 컴퓨팅에 연결된 경우에만 적용됩니다.

환경 쪽 패널을 확장하려면 Notebook 오른쪽에 있는 환경 단추를 클릭합니다.

서버리스 예산 정책이 있는 서버리스 환경 패널

Notebook이 아닌 작업 작업에 대한 환경 설정을 구성하는 방법에 대한 자세한 내용은 Notebook이 아닌 작업 작업에 대한 환경 구성을 참조하세요.

높은 메모리 서버리스 컴퓨팅 사용

Notebook에서 메모리 부족 오류가 발생하면 더 높은 메모리 크기를 사용하도록 Notebook을 구성할 수 있습니다. 이 설정은 Notebook에서 코드를 실행할 때 사용되는 REPL 메모리의 크기를 증가합니다. Spark 세션의 메모리 크기에는 영향을 주지 않습니다. 메모리가 높은 서버리스 사용량은 표준 메모리보다 DBU 방출 속도가 높습니다.

  1. Notebook UI에서 환경 사이드 패널 Environment side panel을 클릭합니다.
  2. 메모리아래에서 고용량 메모리선택합니다.
  3. Click Apply.

이 설정은 Notebook의 메모리 기본 설정을 사용하여 실행되는 Notebook 작업 작업에도 적용됩니다. Notebook에서 메모리 기본 설정을 업데이트하면 다음 작업 실행에 영향을 줍니다.

서버리스 예산 정책을 선택하세요.

서버리스 예산 정책을 사용하면 조직에서 세분화된 청구 특성에 대해 서버리스 사용량에 사용자 지정 태그를 적용할 수 있습니다.

작업 영역에서 서버리스 예산 정책을 사용하여 서버리스 사용량을 특성으로 지정하는 경우 Notebook에 적용하려는 서버리스 예산 정책을 선택할 수 있습니다. 사용자가 서버리스 예산 정책 하나에만 할당된 경우 해당 정책은 기본적으로 선택됩니다.

환경 쪽 패널을 사용하여 Notebook이 서버리스 컴퓨팅에 연결된 후 서버리스 예산 정책을 선택할 수 있습니다.

  1. Notebook UI에서 환경 사이드 패널 Environment side panel을 클릭합니다.
  2. 예산 정책에서 Notebook에 적용할 서버리스 예산 정책을 선택합니다.
  3. Click Apply.

서버리스 예산 정책이 포함된 서버리스 노트북 환경 패널

이 설정이 완료되면 모든 Notebook 사용은 서버리스 예산 정책의 사용자 지정 태그를 상속합니다.

Note

Notebook이 Git 리포지토리에서 시작되었거나 할당된 서버리스 예산 정책이 없는 경우, 서버리스 컴퓨팅에 다음에 연결될 때 자동으로 마지막으로 선택한 서버리스 예산 정책으로 기본 설정됩니다.

환경 버전 선택

환경 버전을 사용하면 서버리스 워크로드가 애플리케이션 호환성에 영향을 주지 않고 독립 엔진 업그레이드를 받을 수 있습니다. 각 환경 버전에 대한 세부 정보를 보려면 서버리스 환경 버전을 참조하세요. Databricks는 최신 전자 필기장 기능을 사용하기 위해 가장 최신 버전을 선택할 것을 권장합니다.

환경 버전을 선택하려면 다음을 수행합니다.

  1. Notebook UI에서 환경 사이드 패널 Environment side panel을 클릭합니다.
  2. 환경 버전에서 버전을 선택합니다.
  3. Click Apply.

Notebook에 종속성 추가

서버리스에서는 컴퓨팅 정책 또는 초기화 스크립트를 지원하지 않으므로 환경 쪽 패널을 사용하여 사용자 지정 종속성을 추가해야 합니다. 종속성을 개별적으로 추가하거나 공유 가능한 기본 환경을 사용하여 여러 종속성을 설치할 수 있습니다.

종속성을 개별적으로 추가하려면 다음을 수행합니다.

  1. Notebook UI에서 환경 사이드 패널 Environment side panel을 클릭합니다.

  2. 종속성 섹션에서 종속성 추가를 클릭하고 필드에 종속성의 경로를 입력합니다. requirements.txt 파일에서 유효한 형식으로 종속성을 지정할 수 있습니다. Python 휠 파일 또는 Python 프로젝트(예: pyproject.toml 또는 setup.py가 포함된 디렉터리)는 작업 영역 파일이나 Unity 카탈로그 볼륨에 있을 수 있습니다.

    • 작업 공간 파일을 사용하는 경우 경로는 절대 경로이어야 하며 /Workspace/로 시작해야 합니다.
    • Unity 카탈로그 볼륨에서 파일을 사용하는 경우 경로는 다음과 같은 형식 /Volumes/<catalog>/<schema>/<volume>/<path>.whl이어야 합니다.
  3. Click Apply. 그러면 Notebook 가상 환경에 종속성이 설치되고 Python 프로세스가 다시 시작됩니다.

서버리스 컴퓨팅을 사용하는 작업은 Notebook 코드를 실행하기 전에 Notebook의 환경 사양을 설치합니다. 즉, Notebook을 작업으로 예약할 때 종속성을 추가할 필요가 없습니다.

Important

PySpark 또는 PySpark를 종속성으로 설치하는 라이브러리를 서버리스 노트북에 설치하지 마세요. 이렇게 하면 세션이 중지되고 오류가 발생합니다. 이 경우 라이브러리를 제거하고 환경다시 설정할 있습니다.

설치된 종속성을 보려면 환경 쪽 패널에서 설치된 클릭합니다. 패널 아래쪽에서 pip 로그를 클릭하여 Notebook 환경에 대한 pip 설치 로그 도 사용할 수 있습니다.

작업 영역에서 공유할 공통 유틸리티 만들기

다음 예제에서는 작업 영역 파일에 공통 유틸리티를 저장하고 서버리스 Notebook에 종속성으로 추가하는 방법을 보여 줍니다.

  1. 다음 구조를 사용하여 폴더를 만듭니다. 프로젝트의 소비자가 파일 경로에 대한 적절한 액세스 권한이 있는지 확인합니다.

    helper_utils/
    ├── helpers/
    │   └── __init__.py   # your common functions live here
    ├── pyproject.toml
    
  2. pyproject.toml 다음과 같이 채웁다.

    [project]
    name = "common_utils"
    version = "0.1.0"
    
  3. 파일에 함수를 추가합니다 init.py . For example:

    def greet(name: str) -> str:
        return f"Hello, {name}!"
    
  4. Notebook UI에서 환경 쪽 패널 환경 아이콘을 클릭합니다.

  5. 종속성 섹션에서 종속성 추가를 클릭한 다음 util 파일의 경로를 입력합니다. 예: /Workspace/helper_utils.

  6. Click Apply.

이제 Notebook에서 함수를 사용할 수 있습니다.

from helpers import greet
print(greet('world'))

다음과 같이 출력됩니다.

Hello, world!

기본 환경 구성

기본 환경은 작업 영역 파일 또는 추가 환경 종속성을 지정하는 Unity 카탈로그 볼륨에 저장된 YAML 파일입니다. 기본 환경은 Notebook 간에 공유할 수 있습니다. 기본 환경을 구성하려면 다음을 수행합니다.

  1. Python 가상 환경에 대한 설정을 정의하는 YAML 파일을 만듭니다. 다음 예제 YAML은 MLflow 프로젝트 환경 사양을 기반으로 몇 가지 라이브러리 종속성이 있는 기본 환경을 정의합니다.

    environment_version: '3'
    dependencies:
      - --index-url https://pypi.org/simple
      - -r "/Workspace/Shared/requirements.txt"
      - my-library==6.1
      - /Workspace/Shared/Path/To/simplejson-3.19.3-py3-none-any.whl
      - git+https://github.com/databricks/databricks-cli
    
  2. YAML 파일을 작업 영역 파일 또는 Unity 카탈로그 볼륨으로 업로드합니다. 참조 파일 가져오기 또는 Unity 카탈로그 볼륨에 파일 업로드 .

  3. Notebook 오른쪽에서 환경 단추를 클릭하여 환경 측면 패널을 확장합니다. 이 단추는 Notebook이 서버리스 컴퓨팅에 연결된 경우에만 나타납니다.

  4. 기본 환경 필드에 업로드된 YAML 파일의 경로를 입력하거나 해당 파일로 이동하여 선택합니다.

  5. Click Apply. 그러면 Notebook 가상 환경에 종속성이 설치되고 Python 프로세스가 다시 시작됩니다.

사용자는 종속성을 개별적으로 설치하여 기본 환경에 지정된 종속성을 재정의할 수 있습니다.

환경 종속성 다시 설정

Notebook이 서버리스 컴퓨팅에 연결된 경우 Databricks는 Notebook의 가상 환경 콘텐츠를 자동으로 캐시합니다. 즉, 비활성으로 인해 연결이 끊긴 경우에도 기존 Notebook을 열 때 환경 사이드 패널에 지정된 Python 종속성을 다시 설치할 필요가 없습니다.

Python 가상 환경 캐싱도 작업에 적용됩니다. 작업이 실행될 때, 실행된 작업 중 완료된 작업과 동일한 종속성 집합을 공유하는 작업이 있다면, 필수 종속성이 이미 제공되므로 더 빠르게 실행됩니다.

Note

서버리스 작업에서 사용되는 사용자 지정 Python 패키지의 구현을 변경하는 경우 작업에서 최신 구현을 선택할 수 있도록 버전 번호도 업데이트해야 합니다.

환경 캐시를 지우고 서버리스 컴퓨팅에 연결된 Notebook의 환경 쪽 패널에 지정된 종속성을 새로 설치하려면 적용 옆의 화살표를 클릭한 다음 기본값으로 다시 설정을 클릭합니다.

핵심 Notebook 또는 Apache Spark 환경을 중단하거나 변경하는 패키지를 설치하는 경우 잘못된 패키지를 제거한 다음 환경을 다시 설정합니다. Notebook을 분리한 다음 다시 연결해도 전체 환경 캐시가 지워지지는 않습니다.

기본 Python 패키지 리포지토리 구성

작업 영역 관리자는 서버리스 Notebook 및 서버리스 작업 모두에 대한 기본 pip 구성으로 작업 영역 내에서 프라이빗 또는 인증된 패키지 리포지토리를 구성할 수 있습니다. 이렇게 하면 사용자가 index-url 또는 extra-index-url명시적으로 정의하지 않고 내부 Python 리포지토리에서 패키지를 설치할 수 있습니다.

지침에 대해 작업 영역 관리자는 기본 Python 패키지 구성 리포지토리를 참조할 수 있습니다.

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

Python 스크립트, Python 휠 또는 dbt 작업과 같은 작업 작업 유형의 경우 라이브러리 종속성은 서버리스 환경 버전에서 상속됩니다. 설치된 라이브러리 목록을 보려면 사용 중인 환경 버전의설치된 Python 라이브러리 섹션을 참조하세요. 작업에 설치되지 않은 Python 라이브러리가 필요한 경우 작업 영역 파일, Unity 카탈로그 볼륨또는 공용 패키지 리포지토리에서 라이브러리를 설치할 수 있습니다.

작업 작업을 만들거나 편집할 때 라이브러리를 추가하려면 다음을 수행합니다.

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

    기본 환경 편집

  2. 환경 버전 드롭다운에서 환경 버전을 선택합니다. 서버리스 환경 버전참조하세요. 최신 기능을 활용하기 위해서는 Databricks에서 최신 버전을 선택하는 것이 좋습니다.

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

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

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

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

  • Unity 카탈로그 볼륨의 Python Wheel 경로는 /Volumes/<catalog>/<schema>/<volume>/<path>.whl입니다.

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

    작업 라이브러리 추가

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