개체 스토리지에서 라이브러리 설치

이 문서에서는 Azure Databricks의 클라우드 개체 스토리지에서 라이브러리를 설치하는 데 필요한 단계를 안내합니다.

참고 항목

이 문서에서는 클라우드 개체 스토리지를 일반적인 개념으로 참조하고 URI를 사용하여 개체 스토리지에 저장된 데이터와 직접 상호 작용한다고 가정합니다. Databricks는 Unity 카탈로그 볼륨을 사용하여 클라우드 개체 스토리지의 파일에 대한 액세스를 구성하는 것이 좋습니다. 볼륨 만들기 및 작업을 참조 하세요.

사용자 지정 JAR 및 Python Whl 라이브러리를 DBFS 루트에 저장하는 대신 클라우드 개체 스토리지에 저장할 수 있습니다. 전체 라이브러리 호환성 세부 정보는 클러스터 범위 라이브러리를 참조하세요.

Important

Databricks Runtime 14.3 LTS 이하를 사용하는 경우 DBFS에서 라이브러리를 설치할 수 있습니다. 그러나 모든 작업 영역 사용자는 DBFS에 저장된 라이브러리 파일을 수정할 수 있습니다. Azure Databricks 작업 영역에서 라이브러리의 보안을 강화하기 위해 DBFS 루트에 라이브러리 파일을 저장하는 것은 기본적으로 Databricks Runtime 15.0 이상에서 사용되지 않으며 비활성화됩니다. DBFS 루트에 라이브러리 저장이 사용되지 않고 기본적으로 사용하지 않도록 설정됨을 참조하세요.

대신 Databricks 는 Python 라이브러리, JAR 파일 및 Spark 커넥터를 포함한 모든 라이브러리를 작업 영역 파일 또는 Unity 카탈로그 볼륨에 업로드하거나 라이브러리 패키지 리포지토리를 사용하는 것이 좋습니다 . 워크로드가 이러한 패턴을 지원하지 않는 경우 클라우드 개체 스토리지에 저장된 라이브러리를 사용할 수도 있습니다.

개체 스토리지에 라이브러리 로드

다른 파일을 로드하는 것과 동일한 방식으로 라이브러리를 개체 스토리지에 로드할 수 있습니다. 새 개체 스토리지 컨테이너를 만들거나 클라우드 개체 스토리지에 파일을 로드하려면 클라우드 공급자에 적절한 권한이 있어야 합니다.

개체 스토리지에 읽기 전용 권한 부여

Databricks는 읽기 전용 권한으로 라이브러리 설치와 관련된 모든 권한을 구성하는 것이 좋습니다.

Azure Databricks를 사용하면 클라우드 개체 스토리지의 데이터에 대한 액세스를 제어하는 개별 클러스터에 보안 권한을 할당할 수 있습니다. 이러한 정책을 확장하여 라이브러리가 포함된 클라우드 개체 스토리지에 읽기 전용 액세스를 추가할 수 있습니다.

참고 항목

Databricks Runtime 12.2 LTS 이하에서는 공유 액세스 모드가 있는 클러스터를 사용하는 경우 JAR 라이브러리를 로드할 수 없습니다. Databricks Runtime 13.3 LTS 이상에서는 UNITY 카탈로그 허용 목록에 JAR 라이브러리를 추가해야 합니다. 공유 컴퓨팅의 허용 목록 라이브러리 및 초기화 스크립트를 참조 하세요.

Databricks는 Microsoft Entra ID 서비스 주체를 사용하여 Azure Data Lake Storage Gen2에 저장된 라이브러리에 대한 액세스를 관리하는 것이 좋습니다. 다음 연결된 설명서를 사용하여 이 설정을 완료합니다.

  1. 원하는 Blob에 대한 읽기 및 목록 권한이 있는 서비스 주체를 만듭니다. 서비스 주체 및 Microsoft Entra ID(Azure Active Directory)를 사용하여 Access Storage를 참조하세요.

  2. 비밀을 사용하여 자격 증명을 저장합니다. 비밀을 참조하세요.

  3. 다음 예제와 같이 클러스터를 만드는 동안 Spark 구성 및 환경 변수의 속성을 설정합니다.

    Spark 구성:

    spark.hadoop.fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net OAuth
    spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
    spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account>.dfs.core.windows.net <application-id>
    spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account>.dfs.core.windows.net {{secrets/<secret-scope>/<service-credential-key>}}
    spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account>.dfs.core.windows.net https://login.microsoftonline.com/<tenant-id>/oauth2/token
    

    환경 변수:

    SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
    
  4. (선택 사항) azcopy 또는 Azure CLI를 사용하여 init 스크립트를 리팩터링합니다.

    init 스크립트 내에서 클러스터 구성 중에 설정된 환경 변수를 참조하여 유효성 검사를 위해 비밀로 저장된 자격 증명을 전달할 수 있습니다.

클러스터에 라이브러리 설치

클라우드 개체 스토리지에 저장된 라이브러리를 클러스터에 설치하려면 다음 단계를 완료합니다.

  1. 클러스터 UI의 목록에서 클러스터를 선택합니다.
  2. 라이브러리 탭을 선택합니다.
  3. 파일 경로/ADLS 옵션을 선택합니다.
  4. 라이브러리 개체(예 abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/library.whl: )에 대한 전체 URI 경로를 제공합니다.
  5. 설치를 클릭합니다.

REST API 또는 CLI를 사용하여 라이브러리를 설치할 수도 있습니다.

Notebook에 라이브러리 설치

Notebook 격리 SparkSession으로 범위가 지정된 개체 스토리지에 저장된 사용자 지정 Python 휠 파일을 설치하는 데 사용할 %pip 수 있습니다. 이 메서드를 사용하려면 공개적으로 읽을 수 있는 개체 스토리지에 라이브러리를 저장하거나 미리 서명된 URL을 사용해야 합니다.

Notebook 범위의 Python 라이브러리를 참조하세요.

참고 항목

JAR 라이브러리는 Notebook에 설치할 수 없습니다. 클러스터 수준에서 JAR 라이브러리를 설치해야 합니다.