다음을 통해 공유


Unity 카탈로그 메타스토어 만들기

이 문서에서는 Unity 카탈로그 메타스토어를 만들고 작업 영역에 연결하는 방법을 보여 줍니다.

Important

Unity 카탈로그에 대해 자동으로 사용하도록 설정된 작업 영역의 경우 이 문서의 지침이 필요하지 않습니다. Databricks는 2023년 11월 9일에 자동으로 Unity 카탈로그에 새 작업 영역을 사용하도록 설정하기 시작했으며, 계정 간에 점진적으로 롤아웃이 진행되었습니다. 작업 영역이 있고 작업 영역 지역에 메타스토어가 아직 없는 경우에만 이 문서의 지침을 따라야 합니다. 메타스토어가 해당 지역에 이미 있는지 확인하려면 Unity 카탈로그의 자동 사용 설정을 참조하세요.

메타스토어는 Unity 카탈로그에서 데이터에 대한 최상위 컨테이너입니다. Unity 카탈로그 메타스토어에서는 보안 개체(예: 테이블, 볼륨, 외부 위치 및 공유)와 액세스 권한을 제어하는 권한에 대한 메타데이터를 등록합니다. 각 메타스토어는 데이터를 구성할 수 있는 3단계 네임스페이스(catalog.schema.table)를 노출합니다. 조직이 운영되는 각 지역에 대해 하나의 메타스토어가 있어야 합니다. Unity 카탈로그를 사용하려면 사용자가 해당 지역의 메타스토어에 연결된 작업 영역에 있어야 합니다.

metastore를 만들려면 다음을 수행합니다.

  1. Azure 계정에서 필요에 따라 관리되는 테이블 및 볼륨의 메타스토어 수준 스토리지에 대한 스토리지 위치를 만듭니다.

    메타스토어 수준 스토리지가 필요한지 여부를 결정하는 데 도움이 되는 자세한 내용은 (선택 사항) 메타스토어 수준 스토리지 만들기 및 데이터가 스토리지에 물리적으로 분리되어 있는지를 참조하세요.

  2. Azure 계정에서 해당 스토리지 위치에 대한 액세스를 제공하는 Azure 관리 ID 또는 서비스 주체를 만듭니다.

  3. Azure Databricks에서 metastore를 만들고, 스토리지 위치를 연결하고, 작업 영역을 metastore에 할당합니다.

참고 항목

이 문서에 설명된 방법 외에도 Databricks Terraform 공급자, 특히 databricks_metastore 리소스를 사용하여 메타스토어를 만들 수도 있습니다. Unity 카탈로그가 메타스토어에 액세스할 수 있도록 하려면 databricks_metastore_data_access를 사용합니다. 작업 영역을 메타스토어에 연결하려면 databricks_metastore_assignment를 사용합니다.

시작하기 전에

시작하기 전에 메타스토어 및 관리 스토리지를 비롯한 기본 Unity 카탈로그 개념을 숙지해야 합니다. Unity 카탈로그란?을 참조하세요.

또한 모든 설정 단계에 대해 다음 요구 사항을 충족하는지 확인해야 합니다.

  • Azure Databricks 계정 관리자여야 합니다.

    첫 번째 Azure Databricks 계정 관리자는 Azure Databricks 계정 콘솔에 처음 로그인할 때 Microsoft Entra ID 전역 관리자여야 합니다. 처음 로그인하면 해당 사용자는 Azure Databricks 계정 관리자가 되며 더 이상 Azure Databricks 계정에 액세스하기 위해 Microsoft Entra ID 전역 관리자 역할이 필요하지 않습니다. 첫 번째 계정 관리자는 Microsoft Entra ID 테넌트에서 사용자를 추가 계정 관리자(더 많은 계정 관리자를 할당할 수 있는 사용자)로 할당할 수 있습니다. 추가 계정 관리자는 Microsoft Entr ID에서 특정 역할을 필요로 하지 않습니다.

  • metastore에 연결하는 작업 영역은 Azure Databricks Premium 플랜에 있어야 합니다.

  • 메타스토어 수준 루트 스토리지를 설정하려면 Azure 테넌트에서 다음을 만들 수 있는 권한이 있어야 합니다.

    • Data Lake Storage Gen2에서 사용할 스토리지 계정을 만듭니다. Data Lake Storage Gen2에서 사용할 스토리지 계정 만들기를 참조하세요.
    • 시스템이 할당한 관리 ID를 보유할 새 리소스 이렇게 하려면 테넌트에 있는 모든 구독에서 리소스 그룹의 기여자 또는 소유자여야 합니다.

1단계(선택 사항): 메타스토어 수준 관리 스토리지에 대한 스토리지 컨테이너 만들기

선택 사항인 이 단계에서는 메타스토어 수준에서 관리되는 테이블 및 볼륨 데이터를 저장할 스토리지 계정 및 컨테이너를 만듭니다. 메타스토어 수준 스토리지가 필요한지 여부를 확인하려면 (선택 사항) 메타스토어 수준 스토리지 만들기를 참조하세요.

  1. Azure Data Lake Storage Gen2용 스토리지 계정을 만듭니다.

    이 스토리지 계정에는 Unity 카탈로그 관리 테이블 및 볼륨이 포함됩니다. Azure Databricks 작업 영역과 동일한 지역에 있는 Azure Data Lake Storage Gen2 계정이어야 합니다. Data Lake Storage Gen2에서 사용할 스토리지 계정 만들기를 참조하세요.

  2. 메타스토어 수준에서 관리되는 테이블 및 볼륨 데이터를 저장할 스토리지 컨테이너를 만듭니다.

    지역당 하나의 메타스토어만 만들 수 있습니다. 메타스토어 및 스토리지 컨테이너에 대해 동일한 지역을 사용해야 합니다.

    이 메타스토어 수준 스토리지 위치는 카탈로그 및 스키마 수준에서 재정의할 수 있습니다. Unity 카탈로그에서 관리되는 스토리지 위치 지정을 참조하세요.

    다음 형식의 컨테이너에 대한 ADLSv2 URI를 기록해 둡니다.

    abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/<metastore-name>
    

    다음 단계에서 <storage-container>를 이 URI로 바꿉니다.

2단계(선택 사항): 관리되는 스토리지 위치에 액세스하는 관리 ID 만들기

1단계를 완료한 경우에만 필요한 이 단계에서는 관리 ID를 보유하는 Azure Databricks 액세스 커넥터를 만들고 스토리지 컨테이너에 대한 액세스 권한을 부여합니다.

Unity 카탈로그에서 Azure 관리 ID를 사용하여 스토리지에 액세스하는 방법에 대한 지침을 따릅니다.

참고 항목

Azure 관리 ID 또는 서비스 주체를 메타스토어의 스토리지 컨테이너에 대한 액세스 권한을 부여하는 ID로 사용할 수 있습니다. Databricks는 자격 증명을 유지 관리하거나 비밀을 회전할 필요가 없으며 스토리지 방화벽으로 보호되는 Azure Data Lake Storage Gen2 계정에 연결할 수 있으므로 관리 ID를 강력하게 권장합니다. 서비스 주체를 사용하려면 서비스 주체(레거시)를 사용하여 Unity 카탈로그 관리 스토리지 만들기를 참조하세요.

3단계: 메타스토어 만들기 및 작업 영역 연결

각 Azure Databricks 지역에는 자체 Unity 카탈로그 메타스토어가 필요합니다.

조직이 운영되는 각 지역에 대한 메타스토어를 만듭니다. 이러한 지역 메타스토어를 해당 지역에 있는 원하는 수의 작업 영역에 연결할 수 있습니다. 연결된 각 작업 영역은 메타스토어의 데이터에 대해 동일한 보기를 가지며, 작업 영역에서 데이터 액세스 제어를 관리할 수 있습니다. 델타 공유를 사용하여 다른 메타스토어의 데이터에 액세스할 수 있습니다.

메타스토어 수준 스토리지를 만들기로 선택한 경우 metastore는 이전 단계에서 만든 스토리지 컨테이너 및 Azure 관리 ID를 사용합니다.

메타스토어를 만들려면 다음을 수행합니다.

  1. 메타스토어 수준 스토리지를 만들기로 선택한 경우 스토리지 컨테이너에 대한 경로와 이전 작업에서 만든 Azure Databricks 액세스 커넥터의 리소스 ID가 있는지 확인합니다.

  2. 계정 관리자로 작업 영역에 로그인합니다.

  3. Azure Databricks 작업 영역의 상단 표시줄에서 사용자 이름을 클릭하고 계정 관리를 선택합니다.

  4. Azure Databricks 계정 콘솔에 로그인합니다.

  5. 카탈로그 아이콘 카탈로그를 클릭합니다.

  6. 메타스토어 만들기를 클릭합니다.

  7. 다음을 입력합니다.

    • 메타스토어의 이름

    • 메타스토어가 배포될 지역.

      데이터에 액세스하는 데 사용하려는 작업 영역과 동일한 지역에 있어야 합니다. 메타스토어 수준 스토리지에 대한 스토리지 컨테이너를 만들기로 선택한 경우 해당 지역도 동일해야 합니다.

    • (선택 사항) ADLS Gen 2 경로: 메타스토어의 루트 스토리지로 사용할 스토리지 컨테이너의 경로를 입력합니다.

      abfss:// 접두사가 자동으로 추가됩니다.

    • (선택 사항) 액세스 커넥터 ID: Azure Databricks 액세스 커넥터의 리소스 ID를 다음 형식으로 입력합니다.

      /subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
      
  8. 만들기를 클릭합니다.

  9. 메시지가 표시되면 메타스토어에 연결할 작업 영역을 선택합니다.

    자세한 내용은 Unity 카탈로그에 대한 작업 영역 사용을 참조 하세요.

  10. metastore 관리자 역할을 그룹으로 전송합니다.

    메타스토어를 만드는 사용자는 소유자이며, 메타스토어 관리자라고도 합니다. 메타스토어 관리자는 메타스토어에서 카탈로그와 같은 최상위 개체를 만들 수 있으며 테이블 및 기타 개체에 대한 액세스를 관리할 수 있습니다. Databricks는 메타스토어 관리자 역할을 그룹에 다시 할당하는 것이 좋습니다. 메타스토어 관리자 할당을 참조하세요.

  11. 관리되는 볼륨에 대한 업로드의 Azure Databricks 관리를 사용하도록 설정합니다.

    Azure Databricks는 CORS(원본 간 리소스 공유)를 사용하여 Unity 카탈로그의 관리되는 볼륨에 데이터를 업로드합니다 . CORS용 Unity 카탈로그 스토리지 계정 구성을 참조하세요.

다음 단계