다음을 통해 공유


라이브러리 유틸리티(dbutils.library)(레거시)

참고 항목

dbutils.library.installdbutils.library.installPyPI API는 Databricks Runtime 11.0 이상에서 제거됩니다. 대부분의 라이브러리 유틸리티 명령은 더 이상 사용되지 않습니다. 대부분의 라이브러리 유틸리티는 Databricks Runtime ML에서 사용할 수 없습니다. 자세한 dbutils.library.restartPython내용은 Azure Databricks에서 Python 프로세스 다시 시작을 참조 하세요.

이 설명서는 사용 중지되었으며 업데이트되지 않을 수 있습니다. 이 콘텐츠에 언급된 제품, 서비스 또는 기술은 더 이상 지원되지 않습니다.

Databricks는 매직 명령을 사용하여 %pip Notebook 범위 라이브러리를 설치하는 것이 좋습니다. Notebook 범위의 Python 라이브러리를 참조하세요.

Databricks 유틸리티 기능에 대한 전체 설명서는 Databricks 유틸리티(dbutils) 참조를 참조하세요.

명령: install, installPyPI, list, restartPython), updateCondaEnv

library 유틸리티를 사용하면 Python 라이브러리를 설치하고 범위가 Notebook 세션으로 지정된 환경을 만들 수 있습니다. 라이브러리는 드라이버와 실행기 모두에서 사용할 수 있으므로 사용자 정의 함수에서 참조할 수 있습니다. 그러면 다음을 활성화할 수 있습니다.

  • Notebook 자체 내에서 구성할 Notebook의 라이브러리 종속성
  • 간섭 없이 클러스터를 공유하기 위해 서로 다른 라이브러리 종속성이 있는 Notebook 사용자

Notebook을 분리하면 이 환경이 삭제됩니다. 그러나 Notebook에서 라이브러리 install API 명령을 다시 실행하여 다시 만들 수 있습니다. 환경을 잃지 않고 Notebook 상태를 다시 설정하는 방법은 restartPython API를 참조하세요.

library 유틸리티는 기본적으로 사용하도록 설정됩니다. 따라서 기본적으로 각 Notebook의 Python 환경은 Notebook이 연결될 때 만들어지고 클러스터의 기본 Python 환경을 상속하는 별도의 Python 실행 파일을 사용하여 격리됩니다. init 스크립트를 통해 Azure Databricks Python 환경에 설치된 라이브러리는 계속 사용할 수 있습니다. spark.databricks.libraryIsolation.enabledfalse로 설정하여 이 기능을 사용하지 않도록 설정할 수 있습니다.

이 API는 UI 및 라이브러리 API를 통해 기존 클러스터 전체 라이브러리 설치와 호환됩니다. 이 API를 통해 설치된 라이브러리의 우선 순위는 클러스터 전체 라이브러리보다 높습니다.

사용 가능한 명령을 나열하려면 dbutils.library.help()를 실행합니다.

install(path: String): boolean -> Install the library within the current notebook session
installPyPI(pypiPackage: String, version: String = "", repo: String = "", extras: String = ""): boolean -> Install the PyPI library within the current notebook session
list: List -> List the isolated libraries added for the current notebook session via dbutils
restartPython: void -> Restart python process for the current notebook session
updateCondaEnv(envYmlContent: String): boolean -> Update the current notebook's Conda environment based on the specification (content of environment

install 명령(dbutils.library.install)

라이브러리에 대한 경로가 지정되면 해당 라이브러리를 현재 Notebook 세션 내에 설치합니다. 이 명령을 호출하여 설치된 라이브러리는 현재 Notebook에서만 사용할 수 있습니다.

이 명령에 대한 도움말을 표시하려면 dbutils.library.help("install")를 실행합니다.

다음 예제에서는 Notebook 내에 .egg 또는 .whl 라이브러리를 설치합니다.

Important

dbutils.library.install은 Databricks Runtime 11.0 이상에서 제거되었습니다.

Databricks는 모든 라이브러리 install 명령을 Notebook의 첫 번째 셀에 배치하고 해당 셀의 끝에서 restartPython을 호출하도록 권장합니다. restartPython이 실행되면 Python Notebook 상태가 다시 설정됩니다. 이 경우 Notebook은 지역 변수, 가져온 라이브러리 및 기타 임시 상태를 포함하지만 이에 국한되지 않는 모든 상태를 잃습니다. 따라서 첫 번째 Notebook 셀에서 라이브러리를 설치하고 Notebook 상태를 다시 설정하는 것이 좋습니다.

허용되는 라이브러리 원본은 dbfs, abfss, adlwasbs입니다.

dbutils.library.install("abfss:/path/to/your/library.egg")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
dbutils.library.install("abfss:/path/to/your/library.whl")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.

참고 항목

%pip를 사용하여 사용자 지정 wheel 파일을 직접 설치할 수 있습니다. 다음 예제에서는 라이브러리 wheel 파일을 DBFS에 업로드했다고 가정합니다.

%pip install /dbfs/path/to/your/library.whl

Egg 파일은 pip에서 지원되지 않으며, 휠 파일은 Python용 빌드 및 이진 패키징의 표준으로 간주됩니다. 그러나 %pip와 호환되는 방식으로 egg 파일을 사용하려는 경우 다음 해결 방법을 사용할 수 있습니다.

# This step is only needed if no %pip commands have been run yet.
# It will trigger setting up the isolated notebook environment
%pip install <any-lib>  # This doesn't need to be a real library; for example "%pip install any-lib" would work
import sys
# Assuming the preceding step was completed, the following command
# adds the egg file to the current notebook environment
sys.path.append("/local/path/to/library.egg")

installPyPI 명령(dbutils.library.installPyPI)

PyPI(Python 패키지 인덱스) 패키지가 지정되면 해당 패키지를 현재 Notebook 세션 내에 설치합니다. 이 명령을 호출하여 설치된 라이브러리는 Notebook 간에 격리됩니다.

이 명령에 대한 도움말을 표시하려면 dbutils.library.help("installPyPI")를 실행합니다.

다음 예제에서는 PyPI 패키지를 Notebook에 설치합니다. version, repoextras는 선택 사항입니다. extras 인수를 사용하여 추가 기능(추가 요구 사항)을 지정합니다.

dbutils.library.installPyPI("pypipackage", version="version", repo="repo", extras="extras")
dbutils.library.restartPython()  # Removes Python state, but some libraries might not work without calling this command.

Important

dbutils.library.installPyPI은 Databricks Runtime 11.0 이상에서 제거되었습니다.

versionextras 키는 PyPI 패키지 문자열의 일부가 될 수 없습니다. 예를 들어 dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0")는 유효하지 않습니다. versionextras 인수를 사용하여 다음과 같이 버전 및 추가 정보를 지정합니다.

dbutils.library.installPyPI("azureml-sdk", version="1.19.0", extras="databricks")
dbutils.library.restartPython()  # Removes Python state, but some libraries might not work without calling this command.

참고 항목

dbutils.library.installPyPI 명령을 %pip 명령으로 바꾸면 Python 인터프리터가 자동으로 다시 시작됩니다. install 명령을 다음과 같이 실행할 수 있습니다.

%pip install azureml-sdk[databricks]==1.19.0

다음 예제에서는 한 Notebook에서 라이브러리 요구 사항을 지정하고, 다른 Notebook에서 %run을 사용하여 이러한 요구 사항을 설치합니다. 이렇게 하려면 먼저 Notebook에 설치할 라이브러리를 정의합니다. 다음 예제에서는 InstallDependencies라는 Notebook을 사용합니다.

dbutils.library.installPyPI("torch")
dbutils.library.installPyPI("scikit-learn", version="1.19.1")
dbutils.library.installPyPI("azureml-sdk", extras="databricks")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.

그런 다음, 이러한 종속성이 필요한 Notebook에 설치합니다.

%run /path/to/InstallDependencies # Install the dependencies in the first cell.
import torch
from sklearn.linear_model import LinearRegression
import azureml
...

다음 예제에서는 환경을 유지하면서 Python Notebook 상태를 다시 설정합니다. 이 기술은 Python Notebook에서만 사용할 수 있습니다. 예를 들어 이 기술을 사용하여 다른 버전으로 미리 설치된 Azure Databricks 라이브러리를 다시 로드할 수 있습니다.

dbutils.library.installPyPI("numpy", version="1.15.4")
dbutils.library.restartPython()
# Make sure you start using the library in another cell.
import numpy

또한 이 기술을 사용하여 프로세스 시작 시 로드해야 하는 tensorflow와 같은 라이브러리를 설치할 수 있습니다.

dbutils.library.installPyPI("tensorflow")
dbutils.library.restartPython()
# Use the library in another cell.
import tensorflow

list 명령(dbutils.library.list)

library 유틸리티를 통해 현재 Notebook 세션에 추가된 격리된 라이브러리를 나열합니다. 여기에는 클러스터에 연결된 라이브러리가 포함되지 않습니다.

이 명령에 대한 도움말을 표시하려면 dbutils.library.help("list")를 실행합니다.

다음 예제에서는 Notebook에 설치된 라이브러리를 나열합니다.

dbutils.library.list()

참고 항목

이 명령과 동등한 %pip의 사용은 다음과 같습니다.

%pip freeze

updateCondaEnv 명령(dbutils.library.updateCondaEnv)

environment.yml의 콘텐츠를 기반으로 하여 현재 Notebook의 Conda 환경을 업데이트합니다. 이 메서드는 Conda의 Databricks Runtime에서만 지원됩니다.

이 명령에 대한 도움말을 표시하려면 dbutils.library.help("updateCondaEnv")를 실행합니다.

다음 예제에서는 제공된 사양의 콘텐츠를 기반으로 하여 현재 Notebook의 Conda 환경을 업데이트합니다.

dbutils.library.updateCondaEnv(
"""
channels:
  - anaconda
dependencies:
  - gensim=3.4
  - nltk=3.4
""")