다음을 통해 공유


DBFS 루트에서 데이터에 대한 외부 위치 만들기

이 문서에서는 DBFS 루트 스토리지 위치에 대한 액세스를 제어하도록 Unity 카탈로그에서 외부 위치를 구성하는 방법을 보여 줍니다. Databricks는 DBFS 루트 스토리지에 데이터를 저장하지 않는 것이 좋다고 권장합니다. 그러나 이전 관행 때문에 작업 영역이 그렇게 할 수도 있습니다.

외부 위치는 스토리지 자격 증명을 클라우드 객체 스토리지 컨테이너와 연결하는 Unity 카탈로그에서 보안이 가능한 개체입니다. 외부 위치는 관리되는 테이블 및 볼륨에 대한 관리되는 스토리지 위치를 정의하고 외부 테이블 및 외부 볼륨을 포함하는 스토리지 위치에 대한 액세스를 제어하는 데 사용됩니다.

작업 영역의 로컬 레거시 Azure Databricks Hive 메타스토어가 DBFS 루트에 데이터를 저장하는 경우, 팀이 Unity 카탈로그를 사용하여 해당 Hive 메타스토어 테이블로 작업할 수 있도록 레거시 Hive 메타스토어를 페더레이션하기 위해 외부 위치를 만들어야 합니다. Hive 메타스토어 페더레이션을 참조하세요: Unity 카탈로그를 활성화하여 Hive 메타스토어에 등록된 테이블을 관리합니다. 그리고 레거시 작업 공간 Hive 메타스토어에 대해 Hive 메타스토어 페더레이션을 활성화합니다.

시작하기 전에

DBFS 루트에 대한 외부 위치를 만들려면 DBFS 루트의 클라우드 스토리지 위치에 대한 액세스를 제공하는 Unity 카탈로그에 정의된 스토리지 자격 증명 있어야 합니다. 하나가 없는 경우, 외부 위치를 만드는 과정에서 시스템이 자동으로 만들어 드립니다.

권한 요구 사항:

  • 메타스토어에 대한 CREATE STORAGE CREDENTIALCREATE EXTERNAL LOCATION 권한이 있어야 합니다. Metastore 관리자는 기본적으로 이러한 권한을 갖습니다.

    메모

    DBFS 루트의 스토리지 위치에 대한 스토리지 자격 증명이 이미 있는 경우 외부 위치를 만드는 사용자는 CREATE STORAGE CREDENTIAL필요하지 않지만 스토리지 자격 증명과 메타스토어 모두에서 CREATE EXTERNAL LOCATION 필요합니다.

  • 외부 위치를 생성할 때 시스템에서 스토리지 권한을 생성하도록 하려면 작업 영역 관리자여야 합니다.

    DBFS 루트 스토리지 위치에 대한 액세스를 제공하는 스토리지 자격 증명이 이미 있고 스토리지 자격 증명과 메타스토어 둘 다에 CREATE EXTERNAL LOCATION 있는 경우 작업 영역 관리자가 될 필요가 없습니다.

외부 위치 만들기

카탈로그 탐색기를 사용하여 DBFS 루트에 대한 외부 위치를 만들 수 있습니다.

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

  2. 외부 데이터 >를 클릭하고 외부 위치만들기를 생성합니다.

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

  4. URL아래에서 DBFS 탑재 복사를 클릭하고 DBFS 루트복사를 선택합니다.

    URL 및 하위 경로 필드는 DBFS 루트에 대한 클라우드 스토리지 경로로 채워집니다.

    중요하다

    DBFS 루트에 대한 외부 위치를 만들 때 전체 버킷의 경로가 아니라 DBFS 루트 위치에 대한 하위 경로를 사용해야 합니다. 하위 경로는 Hive 메타스토어 테이블의 기본 스토리지 위치인 user/hive/warehouse로 미리 채워져 있습니다. DBFS 루트의 데이터에 대한 보다 세분화된 액세스 제어를 원하는 경우 DBFS 루트 내의 하위 경로에 대해 별도의 외부 위치를 만들 수 있습니다.

    경고

    DBFS 루트는 Azure Data Lake Storage Gen2 대신 Azure Blob Storage에 저장될 수 있습니다. 이러한 위치는 디렉터리 또는 파일 수준 컨트롤을 허용하지 않는 wasb 드라이버를 사용하여 액세스됩니다. 따라서 Unity 카탈로그는 컨테이너 수준에서만 액세스 제어를 적용할 수 있습니다. 즉, 단일 사용자 액세스 모드로 클러스터를 사용하는 경우 이 외부 위치에 액세스할 수 있는 사용자가 동일한 컨테이너의 다른 데이터에 액세스할 수 있습니다. 이를 방지하려면 공유 액세스 모드 클러스터, SQL 웨어하우스 또는 서버리스 컴퓨팅 사용을 적용합니다.

  5. DBFS 루트 클라우드 저장소 위치에 대한 액세스 권한을 부여하는 스토리지 자격 증명을 선택하거나, 정의되지 않은 경우 '+ 새 스토리지 자격 증명생성'을 클릭하십시오.

    스토리지 자격 증명을 만들려면 자격 증명 유형 중에서 DBFS 루트를 선택합니다. 외부 위치를 저장하면 스토리지 자격 증명이 자동으로 만들어집니다.

  6. (선택 사항) 메모를 추가합니다.

  7. (선택 사항) 고급 옵션 클릭하고 대체 모드사용하도록 설정합니다.

    대체 모드는 레거시 워크로드 마이그레이션 시나리오를 위한 것입니다. 외부 위치에서 대체 모드를 활성화하려면을(를) 참조하세요.

  8. 만들기 클릭합니다.

  9. 사용 권한 탭으로 이동하여 외부 위치 사용 권한을 부여하세요.

    1. 부여를 클릭합니다.
    2. 보안 주체 필드에서 사용자, 그룹 또는 서비스 주체를 선택하고 부여할 권한을 선택합니다.
    3. 부여를 클릭합니다.
  10. (선택 사항) 이 외부 위치에 액세스할 수 있는 작업 영역을 설정합니다.

    기본적으로 이 Unity 카탈로그 메타스토어를 사용하는 모든 작업 영역의 사용자에게 이 위치의 데이터에 대한 액세스 권한을 부여할 수 있습니다. 특정 작업 영역에 대한 액세스를 제한할 수 있습니다. Databricks는 DBFS 루트가 있는 작업 영역에 대한 액세스를 제한하는 것이 좋습니다.

    하나 이상의 작업 영역에 외부 위치 바인딩 참조하세요.