클라우드 스토리지를 Azure Databricks에 연결하는 외부 위치 만들기

이 문서에서는 클라우드 스토리지를 Azure Databricks에 연결하도록 Unity 카탈로그에서 외부 위치를 구성하는 방법을 설명합니다.

외부 위치는 Unity Catalog 스토리지 자격 증명을 클라우드 개체 스토리지 컨테이너와 연결합니다. 외부 위치는 카탈로그 및 스키마에 대한 관리되는 스토리지 위치를 정의하고 외부 테이블 및 외부 볼륨의 위치를 정의하는 데 사용됩니다.

Azure Data Lake Storage Gen2 스토리지 컨테이너 또는 Cloudflare R2 버킷에서 스토리지를 참조하는 외부 위치를 만들 수 있습니다.

카탈로그 탐색기, Databricks CLI, Notebook 또는 Databricks SQL 쿼리의 SQL 명령 또는 Terraform을 사용하여 외부 위치를 만들 수 있습니다.

참고 항목

볼륨을 정의할 때 볼륨 경로 아래의 데이터에 대한 클라우드 URI 액세스는 볼륨의 권한에 의해 제어됩니다.

시작하기 전에

필수 구성 요소:

  • Azure Databricks에서 외부 위치 개체를 만들기 전에 외부 위치로 사용하려는 Azure Data Lake Storage Gen2 스토리지 컨테이너 또는 Cloudflare R2 버킷을 만들어야 합니다.

    외부 위치로 사용하는 Azure Data Lake Storage Gen2 스토리지 계정에는 계층 구조 네임스페이스가 있어야 합니다.

  • 클라우드 스토리지 위치 경로에 대한 액세스를 제공하는 Azure Databricks에 정의된 스토리지 자격 증명이 있어야 합니다. Azure Data Lake Storage Gen2에 연결하기 위한 스토리지 자격 증명 만들기 및 Cloudflare R2에 연결하기 위한 스토리지 자격 증명 만들기를 참조하세요.

사용 권한 요구 사항:

  • 메타스토어와 외부 위치에서 참조되는 스토리지 자격 증명 모두에 대한 권한이 있어야 합니다 CREATE EXTERNAL LOCATION . Metastore 관리자는 CREATE EXTERNAL LOCATION 기본적으로 metastore에 있습니다.

카탈로그 탐색기를 사용하여 외부 위치 만들기

카탈로그 탐색기를 사용하여 수동으로 외부 위치를 만들 수 있습니다.

사용 권한 및 필수 구성 요소: 시작하기 전에 참조하세요.

외부 위치를 만들려면 다음을 수행합니다.

  1. 메타스토어에 연결된 작업 영역에 로그인합니다.

  2. 사이드바에서 카탈로그를 클릭합니다카탈로그 아이콘.

  3. + 추가 단추를 클릭하고 외부 위치 추가를 선택합니다.

  4. 외부 위치 이름을 입력합니다.

  5. 필요에 따라 기존 탑재 지점에서 컨테이너 경로를 복사합니다(Azure Data Lake Storage Gen2 컨테이너만 해당).

  6. 기존 탑재 지점에서 복사하지 않는 경우 URL 필드를 사용하여 외부 위치로 사용할 스토리지 컨테이너 또는 R2 버킷 경로를 입력합니다.

    예를 들어 abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> 또는 r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>입니다.

  7. 외부 위치에 대한 액세스 권한을 부여하는 스토리지 자격 증명을 선택합니다.

  8. (선택 사항) 사용자가 외부 위치에 대한 읽기 전용 액세스 권한을 갖도록 하려면 고급 옵션을 클릭하고 읽기 전용을 선택합니다. 자세한 내용은 외부 위치를 읽기 전용으로 표시를 참조하세요.

  9. 만들기를 클릭합니다.

  10. 외부 위치를 사용할 수 있는 권한을 부여합니다.

    외부 위치를 사용하려면 다음 권한을 부여해야 합니다.

    • 외부 위치를 사용하여 메타스토어, 카탈로그 또는 스키마에 관리되는 스토리지 위치를 추가하려면 권한을 부여합니다 CREATE MANAGED LOCATION .
    • 외부 테이블 또는 볼륨을 만들려면 허용 CREATE EXTERNAL TABLE 하거나 CREATE EXTERNAL VOLUME.

    카탈로그 탐색기를 사용하여 사용 권한을 부여하려면 다음을 수행합니다.

    1. 외부 위치 이름을 클릭하여 세부 정보 창을 엽니다.
    2. 사용 권한 탭에서 권한 부여를 클릭합니다.
    3. 권한 부여 <external location> 대화 상자에서 보안 주체 필드에서 사용자, 그룹 또는 서비스 주체를 선택하고 부여할 권한을 선택합니다.
    4. 부여를 클릭합니다.

SQL을 사용하여 외부 위치 만들기

SQL을 사용하여 외부 위치를 만들려면 Notebook 또는 SQL 쿼리 편집기에서 다음 명령을 실행합니다. 자리 표시자 값을 바꿉다.

사용 권한 및 필수 구성 요소: 시작하기 전에 참조하세요.

  • <location-name>: 외부 위치의 이름입니다. 하이픈()과 같은 특수 문자를 포함하는 경우 location_name 백틱(-` `)으로 묶어야 합니다. 이름을 참조 하세요.

  • <bucket-path>: 이 외부 위치가 액세스 권한을 부여하는 클라우드 테넌트의 경로입니다. 예를 들어 abfss://my-container-name@my-storage-account.dfs.core.windows.net/<path> 또는 r2://my-bucket@my-account-id.r2.cloudflarestorage.com/<path>입니다.

  • <storage-credential-name>: 스토리지 컨테이너 또는 버킷 경로의 읽기 및 쓰기 권한을 부여하는 스토리지 자격 증명의 이름입니다. 스토리지 자격 증명 이름에 하이픈(-)과 같은 특수 문자가 포함된 경우 백틱(` `)으로 묶어야 합니다.

CREATE EXTERNAL LOCATION [IF NOT EXISTS] `<location-name>`
URL '<bucket-path>'
WITH ([STORAGE] CREDENTIAL `<storage-credential-name>`)
[COMMENT '<comment-string>'];

다음 단계

  • 외부 위치를 사용할 수 있는 권한을 다른 사용자에게 부여합니다. 외부 위치 관리를 참조하세요.
  • 외부 위치를 사용하여 관리되는 스토리지 위치를 정의합니다. Unity 카탈로그에서 관리되는 스토리지 위치 지정을 참조하세요.
  • 외부 위치를 사용하여 외부 테이블을 정의합니다. 외부 테이블 만들기를 참조하세요.
  • 외부 위치를 사용하여 외부 볼륨을 정의합니다. 볼륨 만들기 및 작업을 참조 하세요.