다음을 통해 공유


델타 공유를 위한 공유 만들기 및 관리

이 페이지에서는 델타 공유에 대한 공유를 만들고 관리하는 방법을 설명합니다.

공유는 하나 이상의 받는 사람과 다음 데이터 자산을 공유하는 데 사용하는 Unity 카탈로그의 보안 개체입니다.

  • 테이블 및 테이블 파티션
  • 스트리밍 테이블
  • 관리되는 아이스버그 테이블
  • 외장 스키마 및 테이블
  • 행 및 열 수준에서 액세스를 제한하는 동적 보기를 포함한 뷰
  • 머터리얼라이즈드 뷰
  • Volumes
  • Notebooks
  • AI 모델

전체 스키마(데이터베이스)를 공유하는 경우 수신자는 스키마를 공유하는 시점에 스키마의 모든 테이블, 스트리밍 테이블, 뷰, 구체화된 뷰, 모델 및 볼륨에 액세스할 수 있으며 향후 스키마에 추가된 데이터 및 AI 자산도 함께 액세스할 수 있습니다.

공유에는 하나의 Unity 카탈로그 메타스토어의 데이터 및 AI 자산만 포함될 수 있습니다. 언제든지 공유에서 데이터 및 AI 자산을 추가하거나 제거할 수 있습니다.

공유를 만들기 전에 계정(공급자용)에 대한 델타 공유를 설정했는지 확인합니다.

공유 모델에 대한 자세한 내용은 공유, 공급자 및 받는 사람을 참조하세요.

Requirements

완료하려는 각 작업에 대해 나열된 요구 사항을 충족하는지 확인합니다.

팁 (조언)

공유에 데이터 자산을 추가할 때 Databricks는 그룹을 공유 소유자로 사용하는 것이 좋습니다.

과업 Requirements
공유 생성하기
  • metastore 관리자이거나 공유하려는 데이터가 등록된 Unity 카탈로그 메타스토어에 대한 권한을 갖 CREATE SHARE 습니다.
  • Unity 카탈로그 메타스토어가 연결된 Azure Databricks 작업 영역을 사용하여 공유를 만듭니다.
공유에 다음을 추가합니다.
  • Tables
  • 스트리밍 테이블
  • 관리되는 아이스버그 테이블
  • 외세 테이블
  • Views
  • 머터리얼라이즈드 뷰
  • 공유 소유자가 됩니다.
  • 데이터 자산을 포함하는 카탈로그 및 스키마에 대한 USE CATALOGUSE SCHEMA 권한을 갖습니다.
  • SELECT 데이터 자산에 대한 권한을 갖습니다. 자산을 계속 공유하려면 해당 권한을 유지해야 합니다. 해당 권한이 없어지면, 수신자가 공유를 통해 테이블에 액세스할 수 없습니다.
전체 스키마 또는 외장 스키마 공유
  • 공유 소유자 및 스키마 소유자가 되어야 하거나 USE SCHEMA을(를) 가져야 합니다.
  • SELECT 스키마를 사용하여 테이블을 공유합니다.
  • READ VOLUME 볼륨을 공유할 스키마에 있어야 합니다.
공유에 볼륨 추가
  • 공유 소유자가 됩니다.
  • USE CATALOG 카탈로그 또는 스키마의 볼륨 또는 소유권을 포함하는 카탈로그 및 스키마에 대한 권한과 USE SCHEMA 권한을 갖습니다.
  • 볼륨에 READ VOLUME 대한 권한을 갖습니다. 볼륨을 계속 공유하려면 해당 권한을 유지해야 합니다. 손실된 경우 받는 사람은 공유를 통해 볼륨에 액세스할 수 없습니다.
공유에 Python UDF 추가
  • 공유 소유자가 됩니다.
  • USE CATALOG Python UDF 또는 카탈로그 또는 스키마의 소유권을 포함하는 카탈로그 및 스키마에 대한 권한과 USE SCHEMA 권한을 갖습니다.
  • EXECUTE Python UDF에 대한 권한이 있습니다. Python UDF가 계속 공유되려면 해당 권한을 유지해야 합니다. 손실된 경우 받는 사람은 공유를 통해 Python UDF에 액세스할 수 없습니다.
공유에 모델 추가
  • 공유 소유자가 됩니다.
  • USE CATALOG 모델 또는 카탈로그 또는 스키마의 소유권을 포함하는 카탈로그 및 스키마에 대한 권한과 USE SCHEMA 권한을 갖습니다.
  • EXECUTE 모델에 대한 권한을 갖습니다. 모델을 계속 공유하려면 해당 권한을 유지해야 합니다. 손실된 경우 받는 사람은 공유를 통해 모델에 액세스할 수 없습니다.
공유에 전자 필기장 파일 추가
  • 전자 필기장에서 CAN READ 권한이 있는 공유 소유자가 됩니다.
공유에 대한 액세스 권한을 받는 사람에게 부여하기
  • metastore 관리자여야 합니다. OR
  • 공유 개체와 받는 사람 개체 둘 다에 대해 위임된 사용 권한 또는 소유권이 있는 사용자여야 합니다. 즉, 사용자가 다음 요구 사항을 모두 충족해야 합니다.
    • USE SHARESET SHARE PERMISSION 권한을 모두 가지거나 아니면 공유 소유자가 되어야 합니다.
    • USE RECIPIENT 권한이 있거나 수신자 계정의 소유자여야 합니다.
공유 보기
  • metastore 관리자여야 합니다(모두 볼 수 있습니다). OR
  • 권한을 가진 USE SHARE 사용자가 됩니다(모두 볼 수 있습니다). OR
  • 공유 개체 소유자가 됩니다.
공유 소유자 업데이트
  • metastore 관리자가 됩니다.
공유 이름 업데이트
  • 권한을 가지고 있습니다 CREATE SHARE .
  • 공유 소유자가 됩니다.
다른 공유 속성 업데이트
  • 공유 소유자가 됩니다.
공유 삭제
  • 공유 개체 소유자가 됩니다.

컴퓨팅 요구 사항

  • Databricks Notebook을 사용하여 공유를 만드는 경우 컴퓨팅 리소스는 Databricks Runtime 11.3 LTS 이상을 사용하고 표준 또는 전용 액세스 모드(이전의 공유 및 단일 사용자)가 있어야 합니다.
  • SQL 문을 사용하여 공유에 스키마를 추가하거나 스키마를 업데이트하거나 제거하는 경우 Databricks Runtime 13.3 LTS 이상을 실행하는 SQL 웨어하우스 또는 컴퓨팅을 사용해야 합니다. 카탈로그 탐색기를 사용하여 동일한 작업을 수행해도 컴퓨팅 요구 사항이 없습니다.

공유 개체 만들기

공유 개체를 만들기 전에 요구 사항을 충족하는지 확인합니다.

공유를 만들려면 Azure Databricks Notebook 또는 Databricks SQL 쿼리 편집기에서 카탈로그 탐색기, Databricks Unity 카탈로그 CLI 또는 CREATE SHARE SQL 명령을 사용합니다.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 에서 데이터 공유 버튼을 클릭합니다.

  4. 공유 만들기 페이지에서 공유이름 및 선택적 메모를 입력합니다.

  5. 저장을 클릭하고 계속합니다.

    데이터 자산을 계속 추가하거나 나중에 중지하고 다시 돌아올 수 있습니다.

  6. 데이터 자산 추가 탭에서 공유할 데이터 자산을 선택합니다.

    자세한 지침, 추가 요구 사항 및 관련 제한 사항은 다음을 참조하세요.

  7. 저장을 클릭하고 계속합니다.

  8. 전자 필기장 추가 탭에서 공유할 전자 필기장을 선택합니다.

    자세한 지침은 공유에 전자 필기장 파일 추가를 참조하세요.

  9. 저장을 클릭하고 계속합니다.

  10. 받는 사람 추가 탭에서 공유할 받는 사람을 선택합니다.

    자세한 지침은 델타 공유 데이터 공유에 대한 액세스 관리(공급자용)를 참조하세요.

  11. 데이터 공유를 클릭하여 받는 사람과 데이터를 공유합니다.

SQL

Notebook 또는 Databricks SQL 쿼리 편집기에서 다음 명령을 실행합니다.

CREATE SHARE [IF NOT EXISTS] <share-name>
[COMMENT "<comment>"];

이제 테이블, 스트리밍 테이블, 볼륨, 뷰, 구체화된 뷰 및 모델을 공유에 추가할 수 있습니다.

자세한 지침, 추가 요구 사항 및 관련 제한 사항은 다음을 참조하세요.

CLI

Databricks CLI를 사용하여 다음 명령을 실행합니다.

databricks shares create <share-name>

주석을 추가하거나 --comment 공유에 자산을 추가하는 데 사용할 --json 수 있습니다. 자세한 내용은 다음 섹션을 참조하세요.

이제 테이블, 스트리밍 테이블, 볼륨, 뷰, 구체화된 뷰 및 모델을 공유에 추가할 수 있습니다.

자세한 지침, 추가 요구 사항 및 관련 제한 사항은 다음을 참조하세요.

공유에 테이블 추가

공유에 테이블을 추가하기 전에 요구 사항을 충족하는지 확인합니다.

작업 영역 관리자이고 작업 영역 관리 그룹의 테이블을 포함하는 스키마 및 카탈로그에 대한 사용 권한 및 USE SCHEMA 권한을 상속받은 USE CATALOG 경우 공유에 테이블을 추가할 수 없습니다. 먼저 스키마 및 카탈로그에 USE SCHEMA 대한 권한과 USE CATALOG 권한을 부여해야 합니다.

Note

테이블 주석, 열 주석 및 기본 키 제약 조건은 2024년 7월 25일 또는 그 이후에 Databricks-to-Databricks 공유를 통해 수신자와 공유될 때 공유 항목에 포함됩니다. 릴리스 날짜 이전에 받는 사람과 공유된 공유를 통해 메모 및 제약 조건 공유를 시작하려면 받는 사람 액세스 권한을 취소하고 다시 부여하여 주석 및 제약 조건 공유를 트리거해야 합니다.

공유에 테이블을 추가하려면 Azure Databricks Notebook 또는 Databricks SQL 쿼리 편집기에서 카탈로그 탐색기, Databricks Unity 카탈로그 CLI 또는 SQL 명령을 사용합니다.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 탭에서 테이블을 추가할 공유 항목을 찾아 이름을 클릭합니다.

  4. 자산 관리 > 데이터 자산 추가를 클릭합니다.

  5. 테이블 추가 페이지에서 전체 스키마(데이터베이스) 또는 개별 테이블을 선택합니다.

    • 테이블 또는 뷰를 선택하려면 먼저 카탈로그, 테이블이 포함된 스키마, 테이블 또는 뷰 자체를 선택합니다.

      작업 영역 검색을 사용하여 이름, 열 이름 또는 주석별로 테이블을 검색할 수 있습니다. 작업 영역 개체 검색을 참조하세요.

    • 스키마를 선택하려면 먼저 카탈로그를 선택한 다음 스키마를 선택합니다.

      스키마 공유에 대한 자세한 내용은 공유에 스키마 추가를 참조하세요.

  6. 기록: 받는 사람이 시간 이동 쿼리를 수행하거나 Spark 구조적 스트리밍을 사용하여 테이블을 읽을 수 있도록 테이블 기록을 공유합니다. Databricks-Databricks 공유의 경우 성능 향상을 위해 테이블의 델타 로그도 공유됩니다. 기록 공유로 테이블 읽기 성능 향상하기를 참조하세요. 기록 공유에는 Databricks Runtime 12.2 LTS 이상이 필요합니다.

    Note

    고객이 table_changes() 함수를 사용하여 테이블의 CDF(변경 데이터 피드)를 쿼리할 수 있도록 하려면 공유하기 전에 WITH HISTORY해야 합니다.

  7. (선택 사항) 말풍선 더하기 아이콘을 클릭하여 별칭 또는 파티션 열 아래에 별칭 또는 파티션을 추가합니다. 전체 스키마를 선택하면 별칭 및 파티션을 사용할 수 없습니다. 테이블 기록은 전체 스키마를 선택하는 경우 기본적으로 포함됩니다.

  8. 저장을 클릭합니다.

SQL

Notebook 또는 Databricks SQL 쿼리 편집기에서 다음 명령을 실행하여 테이블을 추가합니다.

ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name>  [COMMENT "<comment>"]
   [PARTITION(<clause>)] [AS <alias>]
   [WITH HISTORY | WITHOUT HISTORY];

다음을 실행하여 전체 스키마를 추가합니다. 이 명령에는 ADD SCHEMA Databricks Runtime 13.3 LTS 이상을 실행하는 SQL 웨어하우스 또는 컴퓨팅이 필요합니다. 스키마 공유에 대한 자세한 내용은 공유에 스키마 추가를 참조하세요.

ALTER SHARE <share-name> ADD SCHEMA <catalog-name>.<schema-name>
[COMMENT "<comment>"];

옵션은 다음과 같습니다. PARTITION 전체 AS <alias> 스키마를 선택하면 사용할 수 없습니다.

  • PARTITION(<clause>): 테이블의 일부만 공유하려면 파티션을 지정할 수 있습니다. 예를 들어 (column = 'value')공유할 테이블 파티션 지정 을 참조하고 받는 사람 속성을 사용하여 파티션 필터링을 수행합니다.

  • AS <alias>: 대체 테이블 이름 또는 테이블 이름을 더 쉽게 읽을 수 있도록 하는 별칭 입니다. 별칭은 수신자가 보고 쿼리에서 사용해야 하는 테이블 이름입니다. 별칭이 지정된 경우 수신자는 실제 테이블 이름을 사용할 수 없습니다. <schema-name>.<table-name> 형식을 사용합니다.

  • WITH HISTORY 또는 WITHOUT HISTORY: 지정된 경우 WITH HISTORY 테이블을 전체 기록과 공유하여 받는 사람이 시간 이동 쿼리 및 스트리밍 읽기를 수행할 수 있도록 합니다. Databricks 간 공유의 경우, 이력 공유는 성능을 개선하기 위해 테이블의 델타 로그도 공유합니다. 테이블 공유의 기본 동작은 컴퓨팅이 Databricks Runtime 16.2 이상을 실행할 경우 WITH HISTORY이며, 이전 Databricks Runtime 버전의 경우 WITHOUT HISTORY입니다. 스키마 공유의 경우 기본값은 Databricks 런타임 버전에 관계없이 WITH HISTORY. WITH HISTORYWITHOUT HISTORY Databricks Runtime 12.2 LTS 이상이 필요합니다. 기록 공유를 사용하여 테이블 읽기 성능 향상도 참조하세요.

    Note

    시간 이동 쿼리 및 스트리밍 읽기를 수행하는 것 외에도 받는 사람이 table_changes() 함수를 사용하여 테이블의 CDF(변경 데이터 피드)를 쿼리하도록 하려면 공유하기 전에 WITH HISTORY해야 합니다.

ALTER SHARE 옵션에 대한 자세한 내용은 ALTER SHARE참조하세요.

CLI

테이블을 추가하려면 Databricks CLI를 사용하여 다음 명령을 실행합니다.

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "ADD",
        "data_object": {
          "name": "<table-full-name>",
          "data_object_type": "TABLE",
          "shared_as": "<table-alias>"
        }
      }
    ]
  }'

스키마를 추가하려면 다음 Databricks CLI 명령을 실행합니다.

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "ADD",
        "data_object": {
          "name": "<schema-full-name>",
          "data_object_type": "SCHEMA"
        }
      }
    ]
  }'

Note

테이블 및 테이블의 경우 생략 "data_object_type"할 수 있습니다.

이 예제에 나열된 옵션에 대해 알아보려면 SQL 탭의 지침을 참조하세요.

추가 매개 변수에 대해 알아보려면 REST databricks shares update --help를 실행 하거나 참조하세요.

공유에서 테이블을 제거하는 방법에 대한 자세한 내용은 공유 업데이트를 참조하세요.

공유할 테이블 파티션 지정

공유에 테이블을 추가할 때 테이블의 일부만 공유하려면 파티션 사양을 제공합니다. Azure Databricks Notebook 또는 Databricks SQL 쿼리 편집기에서 카탈로그 탐색기, Databricks Unity 카탈로그 CLI 또는 SQL 명령을 사용하여 공유에 테이블을 추가하거나 공유를 업데이트할 때 파티션을 지정합니다. 공유에 테이블 추가공유 업데이트를 참조하세요.

Example

다음 SQL 예는 inventory, yearmonth 열로 분할된 date 테이블의 데이터 일부를 공유합니다.

  • 2021년의 데이터입니다.
  • 2020년 12월의 데이터입니다.
  • 2019년 12월 25일의 데이터입니다.
ALTER SHARE share_name
ADD TABLE inventory
PARTITION (year = "2021"),
          (year = "2020", month = "Dec"),
          (year = "2019", month = "Dec", date = "2019-12-25");

받는 사람 속성을 사용하여 파티션 필터링 수행

매개 변수가 있는 파티션 공유라고도 하는 데이터 받는 사람 속성과 일치하는 테이블 파티션을 공유할 수 있습니다.

기본 속성은 다음과 같습니다.

  • databricks.accountId: 데이터 받는 사람이 속한 Azure Databricks 계정(Databricks-to-Databricks 공유만 해당).
  • databricks.metastoreId: 데이터 받는 사람이 속한 Unity 카탈로그 메타스토어입니다(Databricks-to-Databricks 공유에만 해당).
  • databricks.name: 데이터 받는 사람의 이름입니다.

받는 사람을 만들거나 업데이트할 때 사용자 지정 속성을 만들 수 있습니다.

받는 사람 속성별로 필터링하면 여러 Databricks 계정, 작업 영역 및 사용자 간에 데이터 경계를 유지하면서 동일한 공유를 사용하여 동일한 테이블을 공유할 수 있습니다.

예를 들어 테이블에 Azure Databricks 계정 ID 열이 포함된 경우 Azure Databricks 계정 ID로 정의된 테이블 파티션을 사용하여 단일 공유를 만들 수 있습니다. 공유하면 델타 공유는 각 수신자에게 Azure Databricks 계정과 연결된 데이터만 동적으로 전달합니다.

델타 공유의 매개 변수 기반 동적 파티션 공유 다이어그램

속성별로 동적으로 분할하는 기능이 없으면 각 받는 사람에 대해 별도의 공유를 만들어야 합니다.

공유를 만들거나 업데이트할 때 받는 사람 속성별로 필터링하는 파티션을 지정하려면 Azure Databricks Notebook 또는 Databricks SQL 쿼리 편집기에서 카탈로그 탐색기 또는 CURRENT_RECIPIENT SQL 함수를 사용할 수 있습니다.

Note

받는 사람 속성은 Databricks Runtime 12.2 이상에서 사용할 수 있습니다.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 항목 탭에서 업데이트할 공유 항목을 찾아 해당 이름을 클릭합니다.

  4. 자산 관리 > 데이터 자산 추가를 클릭합니다.

  5. 테이블 추가 페이지에서 테이블이 포함된 카탈로그 및 데이터베이스를 선택한 다음, 테이블을 선택합니다.

    테이블을 포함하는 카탈로그 및 데이터베이스를 잘 모르는 경우 작업 영역 검색을 사용하여 이름, 열 이름 또는 주석으로 검색할 수 있습니다. 작업 영역 개체 검색을 참조하세요.

  6. (선택 사항) Speech bubble plus 아이콘을 클릭합니다. 파티션 열 아래에서 파티션을 추가합니다.

    테이블 대화 상자에 파티션 추가 대화 상자에서 다음 구문을 사용하여 속성 기반 파티션 사양을 추가합니다.

    (<column-name> = CURRENT_RECIPIENT().<property-key>)
    

    예를 들면 다음과 같습니다.

    (country = CURRENT_RECIPIENT().country)
    
  7. 저장을 클릭합니다.

SQL

Notebook 또는 Databricks SQL 쿼리 편집기에서 다음 명령을 실행합니다.

ALTER SHARE <share-name> ADD TABLE <catalog-name>.<schema-name>.<table-name>
   PARTITION (<column-name> = CURRENT_RECIPIENT().<property-key>);

예를 들면 다음과 같습니다.

ALTER SHARE acme ADD TABLE acme.default.some_table
  PARTITION (country = CURRENT_RECIPIENT().country);

공유에 삭제 벡터 또는 열 매핑이 있는 테이블 추가

Important

이 기능은 공개 미리 보기로 제공됩니다.

삭제 벡터는 델타 테이블에서 사용하도록 설정할 수 있는 스토리지 최적화 기능입니다. 삭제 벡터가란?을 참조하세요.

Azure Databricks는 델타 테이블에 대한 열 매핑도 지원합니다. Delta Lake 열 매핑를 사용하여 열 이름 바꾸기 및 삭제 방법에 대한 내용을 에서 참조하세요.

삭제 벡터 또는 열 매핑을 사용하여 테이블을 공유하려면 기록과 공유해야 합니다. 공유에 테이블 추가를 참조하세요.

삭제 벡터 또는 열 매핑과 테이블을 공유하는 경우 수신자는 SQL 웨어하우스, Databricks Runtime 14.1 이상을 실행하는 컴퓨팅 또는 오픈 소스 delta-sharing-spark 3.1 이상을 실행하는 컴퓨팅을 사용하여 테이블을 쿼리할 수 있습니다. 삭제 벡터 또는 열 매핑이 사용하도록 설정된 테이블 읽기삭제 벡터 또는 열 매핑이 설정된 테이블 읽기를 참조하세요.

공유에 스키마 추가

공유에 스키마를 추가하기 전에 요구 사항을 충족하는지 확인합니다.

공유에 전체 스키마를 추가하면 공유를 만들 때 스키마의 모든 데이터 자산과 시간에 따라 스키마에 추가되는 모든 자산에 대한 액세스 권한이 받는 사람에게 제공됩니다. 여기에는 스키마의 모든 테이블, 뷰 및 볼륨이 포함됩니다. 이러한 방식으로 공유된 테이블에는 항상 전체 기록이 포함됩니다.

받는 사람과 스키마 공유

공유에 스키마를 추가하려면 공유에 테이블 추가의 지침에 따라 스키마를 추가하는 방법을 지정하는 콘텐츠에 주의를 기울입니다.

SQL을 사용하여 스키마를 추가, 업데이트 또는 제거하려면 Databricks Runtime 13.3 LTS 이상을 실행하는 SQL 웨어하우스 또는 컴퓨팅이 필요합니다. 카탈로그 탐색기를 사용하여 동일한 작업을 수행해도 컴퓨팅 요구 사항이 없습니다.

제한점

  • 전체 스키마를 공유하는 경우 테이블 별칭, 파티션 및 볼륨 별칭을 사용할 수 없습니다. 스키마의 자산에 대한 별칭 또는 파티션을 만든 경우 공유에 전체 스키마를 추가할 때 제거됩니다.

  • 스키마에서 테이블 또는 볼륨에 대한 고급 옵션을 지정하려면 SQL을 사용하여 테이블 또는 볼륨을 공유하고 테이블 또는 볼륨에 다른 스키마 이름을 가진 별칭을 지정해야 합니다.

ABAC 정책으로 보호되는 테이블 및 스키마를 공유에 추가

Important

이 기능은 공개 미리 보기로 제공됩니다.

ABAC(특성 기반 액세스 제어) 는 Azure Databricks에서 유연하고 확장 가능하며 중앙 집중식 액세스 제어를 제공하는 데이터 거버넌스 모델입니다.

표준 테이블과 같은 ABAC 정책으로 보호되는 테이블 또는 스키마를 공유할 수 있습니다. 데이터 자산에 ABAC 정책을 적용하는 방법을 알아보려면 ABAC(특성 기반 액세스 제어) 정책 만들기 및 관리를 참조하세요.

그러나 권한 있는 사용자여야 합니다. 권한 있는 사용자는 공유 소유자 이며 데이터 자산에 적용되는 ABAC 정책에서 제외된 사용자입니다. 정책은 받는 사람의 액세스를 제어하지 않습니다. 받는 사람은 공유 자산에 대한 모든 권한을 갖습니다. ABAC 제한 사항이 적용됩니다 .

공유에 스트리밍 테이블 추가

스트리밍 테이블은 스트리밍 또는 증분 데이터 처리를 추가로 지원하는 일반 델타 테이블입니다. 스트리밍 테이블은 추가만 가능한 데이터 소스를 위해 설계되었으며 입력을 한 번만 처리합니다. Databricks SQL에서 스트리밍 테이블 사용을 참조하세요.

공유에 스트리밍 테이블을 추가하기 전에 요구 사항을 충족하는지 확인합니다.

추가 요구 사항

  • 작업 영역에 작업 영역 카탈로그 바인딩을 사용하도록 설정한 경우 작업 영역에 스트리밍 테이블이 있는 카탈로그에 대한 읽기 및 쓰기 액세스 권한이 있는지 확인합니다. 자세한 내용은특정 작업 영역에 대한 카탈로그 액세스 제한 참조하세요.
  • 공유 가능한 스트리밍 테이블은 델타 테이블 또는 다른 공유 가능한 스트리밍 테이블 또는 뷰에 정의되어야 합니다.
  • 공유에 스트리밍 테이블을 추가할 때 Databricks Runtime 13.3 LTS 이상에서 SQL 웨어하우스 또는 컴퓨팅을 사용해야 합니다.

제한점

  • 스트리밍 테이블에는 행 필터나 열 마스크를 사용할 수 없습니다.
    • 스트리밍 테이블의 기본 테이블에는 행 필터와 열 마스크가 있을 수 있습니다.
  • 스트리밍 테이블에는 파티션 필터가 있을 수 없습니다. 대신 스트리밍 테이블 위에 보기를 만듭니다.

받는 사람과 스트리밍 테이블 공유

공유에 스트리밍 테이블을 추가하려면 다음을 수행합니다.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 항목 탭에서 스트리밍 테이블을 추가할 공유 항목을 선택하여 해당 이름을 클릭합니다.

  4. >클릭합니다.

  5. 자산 편집 페이지에서 공유하려는 스트리밍 테이블을 검색하거나 찾아 선택합니다.

  6. (선택 사항) 별칭 열에서 Speech bubble plus 아이콘 을 클릭합니다. 스트리밍 테이블 이름을 더 쉽게 읽을 수 있도록 별칭 또는 대체 스트리밍 테이블 이름을 지정합니다. 별칭은 받는 사람이 보고 쿼리에 사용해야 하는 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 스트리밍 테이블 이름을 사용할 수 없습니다.

  7. 저장을 클릭합니다.

SQL

Notebook 또는 Databricks SQL 쿼리 편집기에서 다음 명령을 실행합니다.

ALTER SHARE <share_name> ADD TABLE <st_name> [COMMENT <comment>] [AS <shared_st_name>];

CLI

다음 Databricks CLI 명령을 실행합니다.

databricks shares update <share-name> \
  --json '{
    “updates”: [
      {
        “action”: “ADD”,
        “data_object”: {
          “name”: “<st-full-name>",
          “data_object_type”: “TABLE”,
          “comment”: “<comment>”
        }
      }
    ]
  }'

공유에서 스트리밍 테이블을 제거하는 방법에 대한 자세한 내용은 공유 업데이트를 참조하세요.

관리되는 Iceberg 테이블을 공유에 추가

Important

이 기능은 공개 미리 보기로 제공됩니다.

Apache Iceberg는 분석 워크로드에 대한 오픈 소스 테이블 형식입니다. Azure Databricks에서 관리되는 Iceberg 테이블 이라고 하는 Unity 카탈로그에서 Iceberg 테이블을 만들 수 있습니다.

공유에 관리되는 Iceberg 테이블을 추가하기 전에 요구 사항을 충족하는지 확인합니다.

Iceberg 테이블 및 관리되는 Iceberg 테이블 제한 사항이 적용됩니다. Iceberg 테이블 제한 사항을 참조하세요.

공유에 관리되는 Iceberg 테이블을 추가하려면 다음을 수행합니다.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 항목 탭에서 관리되는 Iceberg 테이블을 추가할 공유 항목을 찾아 이름을 클릭합니다.

  4. 자산> 관리자산 편집을 클릭합니다.

  5. 자산 편집 페이지에서 공유하려는 관리되는 Iceberg 테이블을 검색하거나 찾아 선택합니다.

  6. (선택 사항) 별칭 열에서 Speech bubble plus 아이콘 을 클릭합니다. 이름을 더 쉽게 읽을 수 있도록 별칭 또는 대체 관리되는 Iceberg 테이블 이름을 지정합니다. 별칭은 받는 사람이 보고 쿼리에 사용해야 하는 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 관리되는 Iceberg 테이블 이름을 사용할 수 없습니다.

  7. 저장을 클릭합니다.

SQL

Notebook 또는 Databricks SQL 쿼리 편집기에서 다음 명령을 실행합니다. 필요에 따라 관리되는 Iceberg 테이블을 다른 이름으로 노출하도록 지정 <shared_iceberg_table_name> 합니다.

ALTER SHARE <share_name> ADD TABLE <managed_iceberg_name> [COMMENT <comment>] [AS <shared_iceberg_table_name>];

CLI

다음 Databricks CLI 명령을 실행합니다.

databricks shares update <share-name> \
  --json '{
    “updates”: [
      {
        “action”: “ADD”,
        “data_object”: {
          “name”: “<managed-iceberg-full-name>",
          “data_object_type”: “TABLE”,
          “comment”: “<comment>”
        }
      }
    ]
  }'

공유에 외국 스키마 또는 테이블 추가

Important

이 기능은 베타 버전으로 제공됩니다. 작업 영역 관리자는 미리 보기 페이지에서 이 기능에 대한 액세스를 제어할 수 있습니다. Azure Databricks 미리 보기 관리를 참조하세요.

Lakehouse 페더레이션을 사용하면 Azure Databricks를 사용하여 외부 데이터 원본에 대한 쿼리를 실행할 수 있습니다. 외부 시스템에서 관리하는 데이터 및 메타데이터를 포함하는 외장 스키마 및 테이블을 만들 수 있으며, Unity 카탈로그는 이러한 테이블을 쿼리하기 위한 데이터 거버넌스를 추가합니다. 외부 원본에 연결하는 방법에 대한 자세한 내용은 Lakehouse 페더레이션이란?을 참조하세요.

델타 공유를 사용하면 Azure Databricks, 복잡한 네트워크 설정 또는 자격 증명 전송에 데이터를 복사하지 않고도 원래 위치에서 외래 데이터를 안전하게 공유할 수 있습니다.

공유에 외국 스키마 또는 테이블을 추가하기 전에 요구 사항을 충족하는지 확인합니다.

추가 요구 사항

  • 외부 스키마 또는 외세 테이블 공유가 설정된 계정에서 워크플로, Notebook 및 Lakeflow Spark 선언적 파이프라인에 대해 서버리스 컴퓨팅 을 사용하도록 설정해야 합니다. 서버리스 컴퓨팅에 연결하기를 참조하세요.

  • 외세의 스키마와 테이블을 공유할 때 데이터를 쿼리하고 공급자 쪽에서 일시적으로 구체화합니다. 기본적으로 구체화된 데이터는 Azure Databricks 기본 스토리지(프라이빗 미리 보기)를 사용하여 숨겨진 스키마에 저장됩니다. 요구 사항을 충족하는지 확인하고 기본 스토리지에 대한 제한 사항을 준수합니다.

    기본 스토리지 지역 가용성에 대한 자세한 내용은 서버리스 가용성을 참조하세요.

    Azure Databricks 기본 스토리지 사용을 옵트아웃하고 임시 구체화를 위해 사용자 고유의 스토리지를 사용하려면 지원 사례를 엽니다.

  • 기본 스토리지를 사용하도록 선택하는 경우 계정 수준에서 기본 스토리지에 대한 델타 공유 – 확장된 액세스 미리 보기를 사용하도록 설정해야 합니다. Azure Databricks 미리 보기 관리를 참조하세요.

쿼리 결과는 각 쿼리에 대해 주문형으로 생성되므로 테이블 공유 또는 구체화된 뷰에 비해 외산 테이블 및 스키마 공유가 비용 효율적이지 않을 수 있습니다. Azure Databricks는 성능을 향상시키기 위해 다음을 권장합니다.

  • 일반적인 쿼리 결과의 크기를 10GB 미만으로 유지합니다.
  • 빈번한 데이터 덤프 대신 임시 예비 쿼리를 사용합니다.
  • 클라우드 토큰 공유를 사용하는 경우 비용 효율성과 성능 향상을 위해 외래 테이블 위에 생성된 구체화된 뷰를 공유하는 것이 좋습니다.

수신자와 외부의 스키마 또는 테이블 공유

공유에 외국 스키마 또는 테이블을 추가하려면 Azure Databricks Notebook 또는 Databricks SQL 쿼리 편집기에서 카탈로그 탐색기, Databricks Unity 카탈로그 CLI 또는 SQL 명령을 사용합니다.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 항목 탭에서 외부 테이블 또는 스키마를 추가하려는 공유를 찾아 해당 이름을 클릭합니다.

  4. >클릭합니다.

  5. 자산 편집 페이지에서 공유하려는 외장 테이블 또는 스키마를 검색하거나 찾아 선택합니다.

  6. (선택 사항) 별칭 열에서 Speech bubble plus 아이콘 을 클릭합니다. 외설 스키마 또는 테이블 이름을 더 쉽게 읽을 수 있도록 별칭 또는 대체 외설 스키마 또는 테이블 이름을 지정합니다. 별칭은 받는 사람이 보고 쿼리에 사용해야 하는 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 외세 스키마 또는 테이블 이름을 사용할 수 없습니다.

  7. 저장을 클릭합니다.

SQL

ALTER SHARE <share-name>
  ADD {TABLE | SCHEMA} {federated_catalog.federated_schema.federated_table | federated_catalog.federated_schema}
  [COMMENT "<comment>"]
  [AS <alias>];

옵션은 다음과 같습니다.

  • AS <alias>: 데이터 자산 이름을 더 쉽게 읽을 수 있도록 하는 대체 이름 또는 별칭입니다. 별칭은 받는 사람이 보고 쿼리에 사용해야 하는 데이터 자산 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 이름을 사용할 수 없습니다. <catalog-name>.<schema-name>.<view-name> 형식을 사용합니다.
  • COMMENT "<comment>": 설명은 카탈로그 탐색기 UI에 표시되고 SQL 문을 사용하여 데이터 자산 세부 정보를 나열하고 표시할 때 표시됩니다.

ALTER SHARE 옵션에 대한 자세한 내용은 ALTER SHARE참조하세요.

CLI

databricks shares update <share-name> \
  --json '{
    “updates”: [
      {
        “action”: “ADD”,
        “data_object”: {
          “name”: “<federated-data-asset-full-name>",
          “data_object_type”: “{TABLE | SCHEMA}”,
          "shared_as": "<foreign-data-asset-alias>",
          “comment”: “<comment>”
        }
      }
    ]
  }'

공유에 보기 추가

뷰는 하나 이상의 테이블 또는 다른 뷰에서 만든 읽기 전용 개체입니다. Unity 카탈로그 메타스토어의 여러 스키마 및 카탈로그에 포함된 테이블 및 기타 뷰에서 보기를 만들 수 있습니다. 보기 만들기 및 관리를 참조하세요.

공유에 보기를 추가하기 전에 요구 사항을 충족하는지 확인합니다.

추가 요구 사항

  • 공유 가능한 뷰는 델타 테이블, 다른 공유 가능한 뷰 또는 로컬 구체화된 뷰 및 스트리밍 테이블에 정의되어야 합니다. 공유 가능한 뷰는 외부 테이블에 정의할 수 없습니다.
  • 공유 테이블 또는 공유 보기를 참조하는 보기를 공유할 수 없습니다.
  • 공유에 보기를 추가할 때 Databricks Runtime 13.3 LTS 이상에서 SQL 웨어하우스 또는 컴퓨팅을 사용해야 합니다.
  • 작업 영역에 작업 영역 카탈로그 바인딩을 사용하도록 설정한 경우 작업 영역에 카탈로그에 대한 읽기 및 쓰기 권한이 있는지 확인합니다. 자세한 내용은특정 작업 영역에 대한 카탈로그 액세스 제한 참조하세요.
  • 뷰를 공유할 때 데이터는 쿼리되고 일시적으로 구체화됩니다. 구체화된 데이터는 뷰의 부모 스키마 또는 카탈로그의 스토리지 위치 또는 메타스토어 루트 위치에 저장됩니다.
  • 스토리지 위치에 방화벽 또는 프라이빗 링크와 같은 사용자 지정 네트워크 구성이 있는 경우 받는 사람이 스토리지 위치에 연결할 수 있도록 허용 목록에 있는지 확인해야 합니다. 서버리스 컴퓨팅에 대한 방화벽 규칙을 구성하는 방법에 대한 지침은 서버리스 컴퓨팅 액세스를 위한 방화벽 구성을 참조하세요.

받는 사람과 보기 공유

이 섹션에서는 Azure Databricks Notebook 또는 Databricks SQL 쿼리 편집기에서 카탈로그 탐색기, Databricks CLI 또는 SQL 명령을 사용하여 공유에 보기를 추가하는 방법을 설명합니다. Unity 카탈로그 REST API를 사용하려면 REST API 참조에서 PATCH /api/2.1/unity-catalog/shares/ 를 참조하세요.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 항목 탭에서 보기를 추가하려는 공유 항목을 찾아 해당 이름을 클릭합니다.

  4. 자산 관리 > 데이터 자산 추가를 클릭합니다.

  5. 테이블 추가 페이지에서 공유하려는 보기를 검색하거나 찾아 선택합니다.

  6. (선택 사항) 말풍선 더하기 아이콘을 클릭하고 별칭 열 아래에서 대체 보기 이름 또는 별칭을 지정하여 보기 이름을 더 읽기 쉽게 만드세요. 별칭은 받는 사람이 보고 쿼리에 사용해야 하는 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 보기 이름을 사용할 수 없습니다.

  7. 저장을 클릭합니다.

SQL

Notebook 또는 Databricks SQL 쿼리 편집기에서 다음 명령을 실행합니다.

ALTER SHARE <share-name> ADD VIEW <catalog-name>.<schema-name>.<view-name>
   [COMMENT "<comment>"]
   [AS <alias>];

옵션은 다음과 같습니다.

  • AS <alias>: 보기 이름을 더 쉽게 읽을 수 있도록 하는 대체 뷰 이름 또는 별칭입니다. 별칭은 받는 사람이 보고 쿼리에 사용해야 하는 뷰 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 보기 이름을 사용할 수 없습니다. <schema-name>.<view-name> 형식을 사용합니다.
  • COMMENT "<comment>": 설명은 카탈로그 탐색기 UI에 표시되고 SQL 문을 사용하여 뷰 세부 정보를 나열하고 표시할 때 표시됩니다.

ALTER SHARE 옵션에 대한 자세한 내용은 ALTER SHARE참조하세요.

CLI

다음 Databricks CLI 명령을 실행합니다.

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "ADD",
        "data_object": {
          "name": "<view-full-name>",
          "data_object_type": "VIEW",
          "shared_as": "<view-alias>"
        }
      }
    ]
  }'

"shared_as": "<view-alias>" 는 선택 사항이며 보기 이름을 더 쉽게 읽을 수 있도록 대체 뷰 이름 또는 별칭을 제공합니다. 별칭은 받는 사람이 보고 쿼리에 사용해야 하는 뷰 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 보기 이름을 사용할 수 없습니다. <schema-name>.<view-name> 형식을 사용합니다.

추가 매개 변수에 대해 알아보려면 REST databricks shares update --help를 실행 하거나 참조하세요.

공유에서 보기를 제거하는 방법에 대한 자세한 내용은 공유 업데이트를 참조하세요.

공유에 동적 뷰를 추가하여 행 및 열 필터링

동적 보기를 사용하여 다음을 포함하여 테이블 데이터에 대한 세분화된 액세스 제어를 구성할 수 있습니다.

  • 열 또는 행 수준의 보안 조치
  • 데이터 마스킹.

CURRENT_RECIPIENT() 함수를 사용하는 동적 보기를 만들 때 받는 사람 정의에 지정한 속성에 따라 받는 사람 액세스를 제한할 수 있습니다.

이 섹션에서는 동적 보기를 사용하여 행 및 열 수준 모두에서 테이블 데이터에 대한 받는 사람 액세스를 제한하는 예제를 제공합니다.

Requirements

  • 공유에 보기를 추가하기 위한 요구 사항을 충족하는지 확인합니다.
  • Databricks 런타임 버전: 이 CURRENT_RECIPIENT 함수는 Databricks Runtime 14.2 이상에서 지원됩니다.

제한점

  • 보기 공유에 대한 모든 제한 사항이 적용됩니다.
  • 공급자가 함수를 사용하는 뷰를 CURRENT_RECIPIENT 공유하는 경우 공급자는 공유 컨텍스트 때문에 뷰를 직접 쿼리할 수 없습니다. 이러한 동적 보기를 테스트하려면 공급자가 뷰를 자신과 공유하고 뷰를 받는 사람으로 쿼리해야 합니다.
  • 공급자는 동적 보기를 참조하는 뷰를 만들 수 없습니다.

받는 사람 속성 설정

이러한 예제에서 공유할 테이블에는 이름이 지정된 country열이 있으며 일치하는 country 속성을 가진 받는 사람만 특정 행 또는 열을 볼 수 있습니다.

Azure Databricks Notebook 또는 SQL 쿼리 편집기에서 카탈로그 탐색기 또는 SQL 명령을 사용하여 받는 사람 속성을 설정할 수 있습니다.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 받는 사람 탭에서 속성을 추가할 받는 사람을 찾아 이름을 클릭합니다.

  4. 속성 편집을 클릭합니다.

  5. 받는 사람 속성 편집 대화 상자에서 열 이름을 키로 입력하고(이 경우country) 값으로 필터링하려는 값(예CA: )을 입력합니다.

  6. 저장을 클릭합니다.

SQL

받는 사람에서 속성을 설정하려면 .를 사용합니다 ALTER RECIPIENT. 이 예제에서 country 속성은 CA.

ALTER RECIPIENT recipient1 SET PROPERTIES ('country' = 'CA');

받는 사람에 대한 행 수준 권한이 있는 동적 보기 만들기

이 예제에서는 일치하는 country 속성을 가진 받는 사람만 특정 행을 볼 수 있습니다.

CREATE VIEW my_catalog.default.view1 AS
  SELECT * FROM my_catalog.default.my_table
  WHERE country = CURRENT_RECIPIENT('country');

또 다른 옵션은 데이터 공급자가 팩트 테이블 필드를 받는 사람 속성에 매핑하는 별도의 매핑 테이블을 유지하는 것입니다. 이렇게 하면 받는 사람 속성 및 팩트 테이블 필드가 분리되어 유연성이 향상됩니다.

받는 사람에 대한 열 수준 권한이 있는 동적 보기 만들기

이 예제에서는 속성과 일치하는 country 받는 사람만 특정 열을 볼 수 있습니다. 다른 사용자는 반환된 데이터를 다음과 같이 표시합니다 REDACTED.

CREATE VIEW my_catalog.default.view2 AS
  SELECT
  CASE
    WHEN CURRENT_RECIPIENT('country') = 'US' THEN pii
    ELSE 'REDACTED'
  END AS pii
  FROM my_catalog.default.my_table;

받는 사람과 동적 보기 공유

동적 보기를 받는 사람과 공유하려면 표준 보기와 동일한 SQL 명령 또는 UI 프로시저를 사용합니다. 공유에 보기 추가를 참조하세요.

공유에 구체화된 뷰 추가

뷰와 마찬가지로 구체화된 뷰는 쿼리의 결과이며 테이블처럼 액세스할 수 있습니다. 일반 뷰와 달리 구체화된 뷰의 결과는 구체화된 뷰가 마지막으로 새로 고쳐졌을 때의 데이터 상태를 반영합니다. 구체화된 뷰에 대한 자세한 내용은 Databricks SQL에서 구체화된 뷰 사용을 참조하세요.

공유에 구체화된 뷰를 추가하기 전에 요구 사항을 충족하는지 확인합니다.

추가 요구 사항

  • 작업 영역에 작업 영역 카탈로그 바인딩을 사용하도록 설정한 경우 작업 영역에 구체화된 뷰가 포함된 카탈로그에 대한 읽기 및 쓰기 액세스 권한이 있는지 확인합니다. 자세한 내용은특정 작업 영역에 대한 카탈로그 액세스 제한 참조하세요.
  • 공유 가능한 구체화된 뷰는 델타 테이블 또는 다른 공유 가능한 스트리밍 테이블, 뷰 또는 구체화된 뷰에 정의되어야 합니다.
  • 공유에 구체화된 뷰를 추가할 때 Databricks Runtime 13.3 LTS 이상에서 SQL 웨어하우스 또는 컴퓨팅을 사용해야 합니다.

제한점

  • 구체화된 뷰에는 행 필터가 있을 수 없지만 구체화된 뷰의 기본 테이블에는 행 필터와 열 마스크가 있을 수 있습니다.
  • 구체화된 뷰에는 파티션 필터가 있을 수 없습니다. 대신 구체화 뷰 위에 새 뷰를 생성합니다.

구체화된 뷰를 다른 사람과 공유

이 섹션에서는 Azure Databricks Notebook 또는 Databricks SQL 쿼리 편집기에서 카탈로그 탐색기, Databricks CLI 또는 SQL 명령을 사용하여 구체화된 뷰를 공유에 추가하는 방법을 설명합니다. Unity 카탈로그 REST API를 사용하려면 REST API 참조에서 PATCH /api/2.1/unity-catalog/shares/ 를 참조하세요.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 항목 탭에서 구체화된 보기를 추가하려는 공유 항목을 찾아 해당 이름을 클릭합니다.

  4. >클릭합니다.

  5. 자산 편집 페이지에서 공유하려는 구체화된 보기를 검색하거나 찾아 선택합니다.

  6. (선택 사항) 별칭 열에서 Speech bubble plus 아이콘 을 클릭합니다. 구체화된 뷰 이름을 더 쉽게 읽을 수 있도록 별칭 또는 대체 구체화된 뷰 이름을 지정합니다. 별칭은 받는 사람이 보고 쿼리에 사용해야 하는 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 구체화된 뷰 이름을 사용할 수 없습니다.

  7. 저장을 클릭합니다.

SQL

Notebook 또는 Databricks SQL 쿼리 편집기에서 다음 명령을 실행합니다.

ALTER SHARE <share_name> ADD MATERIALIZED VIEW <mv_name> [COMMENT <comment>] [AS <shared_mv_name>];

CLI

databricks shares update <share-name> \
  --json '{
    “updates”: [
      {
        “action”: “ADD”,
        “data_object”: {
          “name”: “<mat-view-full-name>”,
          “data_object_type”: “MATERIALIZED_VIEW”,
          “comment”: “<comment>”
        }
      }
    ]
  }'

공유에서 구체화된 뷰를 제거하는 방법에 대한 자세한 내용은 공유 업데이트를 참조하세요.

공유에 볼륨 추가

볼륨은 클라우드 개체 스토리지 위치에 있는 스토리지의 논리적 볼륨을 나타내는 Unity 카탈로그 개체입니다. 주로 표 형식 데이터가 아닌 데이터 자산에 대한 거버넌스를 제공하기 위한 것입니다. Unity 카탈로그 볼륨이란?을 참조하세요.

공유에 볼륨을 추가하기 전에 요구 사항을 충족하는지 확인합니다.

추가 요구 사항

  • 볼륨 공유는 Databricks-to-Databricks 공유에서만 지원됩니다.
  • 공유에 볼륨을 추가할 때 버전 2023.50 이상의 SQL 웨어하우스 또는 Databricks Runtime 14.1 이상의 컴퓨팅 리소스를 사용해야 합니다.
  • 공급자 쪽의 볼륨 스토리지에 사용자 지정 네트워크 구성(예: 방화벽 또는 프라이빗 링크)이 있는 경우 공급자는 볼륨의 스토리지 위치에 연결할 수 있도록 받는 사람의 컨트롤 플레인 및 데이터 평면 주소가 올바르게 허용 목록에 있는지 확인해야 합니다.

Note

볼륨 주석은 2024년 7월 25일 또는 그 이후에 Databricks-to-Databricks 공유를 사용하여 받는 사람과 공유되는 공유에 포함됩니다. 릴리스 날짜 이전에 받는 사람과 공유된 공유를 통해 주석 공유를 시작하려면 받는 사람 액세스 권한을 취소하고 다시 부여하여 주석 공유를 트리거해야 합니다.

받는 사람과 볼륨 공유

이 섹션에서는 Azure Databricks Notebook 또는 SQL 쿼리 편집기에서 카탈로그 탐색기, Databricks CLI 또는 SQL 명령을 사용하여 공유에 볼륨을 추가하는 방법을 설명합니다. Unity 카탈로그 REST API를 사용하려면 REST API 참조에서 PATCH /api/2.1/unity-catalog/shares/ 를 참조하세요.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 항목 탭에서 볼륨을 추가할 항목을 찾아 이름을 클릭합니다.

  4. >클릭합니다.

  5. 자산 편집 페이지에서 공유하려는 볼륨을 검색하거나 찾아 선택합니다.

    또는 볼륨을 포함하는 전체 스키마를 선택할 수 있습니다. 공유에 스키마 추가를 참조하세요.

  6. (선택 사항) 말풍선 플러스 아이콘을 클릭합니다. 별칭 열 아래에서 대체 볼륨 이름을 지정하거나 별칭을 입력하여 볼륨 이름을 더 읽기 쉽게 만듭니다.

    전체 스키마를 선택하면 별칭을 사용할 수 없습니다.

    별칭은 받는 사람이 보고 쿼리에 사용해야 하는 이름입니다. 별칭을 지정하면 받는 사람은 실제 볼륨 이름을 사용할 수 없습니다.

  7. 저장을 클릭합니다.

SQL

Notebook 또는 Databricks SQL 쿼리 편집기에서 다음 명령을 실행합니다.

ALTER SHARE <share-name> ADD VOLUME <catalog-name>.<schema-name>.<volume-name>
   [COMMENT "<comment>"]
   [AS <alias>];

옵션은 다음과 같습니다.

  • AS <alias>: 볼륨 이름을 더 쉽게 읽을 수 있도록 대체 볼륨 이름 또는 별칭입니다. 별칭은 받는 사람이 보고 쿼리에 사용해야 하는 볼륨 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 볼륨 이름을 사용할 수 없습니다. <schema-name>.<volume-name> 형식을 사용합니다.
  • COMMENT "<comment>": 설명은 카탈로그 탐색기 UI에 표시되고 SQL 문을 사용하여 볼륨 세부 정보를 나열하고 표시할 때 표시됩니다.

ALTER SHARE 옵션에 대한 자세한 내용은 ALTER SHARE참조하세요.

CLI

Databricks CLI 0.210 이상을 사용하여 다음 명령을 실행합니다.

 databricks shares update <share-name> \
   --json '{
     "updates": [
       {
         "action": "ADD",
         "data_object": {
           "name": "<volume-full-name>",
           "data_object_type": "VOLUME",
           "string_shared_as": "<volume-alias>"
         }
       }
     ]
   }'

"string_shared_as": "<volume-alias>" 는 선택 사항이며 볼륨 이름을 더 쉽게 읽을 수 있도록 대체 볼륨 이름 또는 별칭을 제공합니다. 별칭은 받는 사람이 보고 쿼리에 사용해야 하는 볼륨 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 볼륨 이름을 사용할 수 없습니다. <schema-name>.<volume-name> 형식을 사용합니다.

추가 매개 변수에 대해 알아보려면 REST databricks shares update --help를 실행 하거나 참조하세요.

공유에서 볼륨을 제거하는 방법에 대한 자세한 내용은 공유 업데이트를 참조하세요.

공유에 Python UDF 추가

UDF(사용자 정의 함수)를 사용하면 Azure Databricks에서 기본 제공 기능을 확장하는 코드를 다시 사용하고 공유할 수 있습니다. Python UDF를 만드는 방법을 알아보려면 사용자 정의 스칼라 함수 - Python을 참조하세요.

공유에 Python UDF를 추가하기 전에 요구 사항을 충족하는지 확인합니다.

추가 제한 사항

  • 열려 있는 받는 사람과 Python UDF를 공유할 수 없습니다.

받는 사람과 Python UDF 공유

이 섹션에서는 Azure Databricks Notebook 또는 SQL 쿼리 편집기에서 카탈로그 탐색기, Databricks CLI 또는 SQL 명령을 사용하여 공유에 Python UDF를 추가하는 방법을 설명합니다. Unity 카탈로그 REST API를 사용하려면 REST API 참조에서 PATCH /api/2.1/unity-catalog/shares/ 를 참조하세요.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 항목 탭에서 Python UDF를 추가하려는 공유 항목을 찾아 해당 이름을 클릭합니다.

  4. >클릭합니다.

  5. 자산 편집 페이지에서 공유하려는 Python UDF를 검색하거나 찾아 선택합니다.

    또는 Python UDF를 포함하는 전체 스키마를 선택할 수 있습니다. 공유에 스키마 추가를 참조하세요.

  6. (선택 사항) 말풍선 아이콘 더하기 기호를 클릭합니다. 별칭 열 아래에서 Python UDF 이름을 더 읽기 쉽게 만들기 위해 대체 Python UDF 이름인 별칭을 지정합니다.

    전체 스키마를 선택하면 별칭을 사용할 수 없습니다.

    별칭은 받는 사람이 보고 쿼리에 사용해야 하는 이름입니다. 별칭을 지정하면 받는 사람은 실제 Python UDF 이름을 사용할 수 없습니다.

  7. 저장을 클릭합니다.

SQL

다음 명령을 실행합니다. 이 명령은 ADD MODEL을(를) 사용하며 Notebook 또는 Databricks SQL 쿼리 편집기에서 실행할 수 있습니다.

ALTER SHARE <share-name> ADD MODEL <catalog-name>.<schema-name>.<python-udf-name>
   [AS <alias>];

옵션은 다음과 같습니다.

  • AS <alias>: Python UDF 이름을 더 쉽게 읽을 수 있도록 하는 대체 Python UDF 이름 또는 별칭입니다. 별칭은 받는 사람이 보고 쿼리에 사용해야 하는 Python UDF 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 Python UDF 이름을 사용할 수 없습니다. <schema-name>.<python-udf-name> 형식을 사용합니다.

ALTER SHARE 옵션에 대한 자세한 내용은 ALTER SHARE참조하세요.

CLI

Databricks CLI 0.210 이상을 사용하여 개체 형식을 모델로 지정하는 다음 명령을 실행합니다.

 databricks shares update <share-name> \
   --json '{
     "updates": [
       {
         "action": "ADD",
         "data_object": {
           "name": "<python-udf-full-name>",
           "data_object_type": "MODEL",
           "string_shared_as": "<python-udf-alias>"
         }
       }
     ]
   }'

"string_shared_as": "<python-udf-alias>" 는 선택 사항이며 Python UDF 이름을 더 쉽게 읽을 수 있도록 대체 Python UDF 이름 또는 별칭을 제공합니다. 별칭은 받는 사람이 보고 쿼리에 사용해야 하는 Python UDF 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 Python UDF 이름을 사용할 수 없습니다. <schema-name>.<python-udf-name> 형식을 사용합니다.

추가 매개 변수에 대해 알아보려면 REST databricks shares update --help를 실행 하거나 참조하세요.

공유에 추가 FeatureSpecs

FeatureSpec는 사용자 정의 기능 및 함수 집합입니다. 받는 사람은 공유 FeatureSpec에서 기능 서비스 엔드포인트를 만들 수 있습니다. FeatureSpecs를 작성하는 방법을 배우려면 FeatureSpec 작성을 참조하세요.

공유에 추가 하기 전에 FeatureSpecs 충족하는지 확인합니다.

추가 요구 사항

  • 모든 종속성을 공유에 추가해야 합니다. UI를 사용하여 공유에 추가하는 FeatureSpec 경우 모든 종속성이 공유에 자동으로 추가되어야 합니다.
  • 종속성이 모델에 추가되면 공유에도 추가해야 합니다.

추가 제한 사항

  • 이 자산이 다른 모델의 종속성인 경우 별칭을 지정할 수 없습니다.
  • 열려 있는 받는 사람과 공유할 FeatureSpecs 수 없습니다.

받는 사람과 공유 FeatureSpecs

이 섹션에서는 Azure Databricks Notebook 또는 SQL 쿼리 편집기에서 카탈로그 탐색기, Databricks CLI 또는 SQL 명령을 사용하여 공유에 추가하는 FeatureSpecs 방법을 설명합니다. Unity 카탈로그 REST API를 사용하려면 REST API 참조에서 PATCH /api/2.1/unity-catalog/shares/ 를 참조하세요.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 공유한 항목 탭에서 추가할 FeatureSpec 공유를 찾아 해당 이름을 클릭합니다.

  4. >클릭합니다.

  5. 자산 편집 페이지에서 공유하려는 자산을 검색하거나 찾아 FeatureSpec 선택합니다.

    또는 FeatureSpec를 포함하는 스키마 전체를 선택할 수 있습니다. 공유에 스키마 추가를 참조하세요.

  6. (선택 사항) 말풍선 추가 아이콘를 클릭하세요. 별칭 열 아래에서 대체 FeatureSpec 이름 또는 별칭을 지정하여 이름을 더 읽기 쉽게 만들어 보세요FeatureSpec.

    전체 스키마를 선택하면 별칭을 사용할 수 없습니다.

    별칭은 받는 사람이 보고 쿼리에 사용해야 하는 이름입니다. 별칭을 지정하면 받는 사람은 실제 FeatureSpec 이름을 사용할 수 없습니다.

  7. 종속성이 있는 경우 모든 종속성 추가 대화 상자에서 모든 종속성이 자동으로 추가됨을 알려줍니다. 모든 종속성 추가를 클릭합니다.

  8. 저장을 클릭합니다.

SQL

다음 명령을 실행합니다. 이 명령은 ADD MODEL을(를) 사용하며 Notebook 또는 Databricks SQL 쿼리 편집기에서 실행할 수 있습니다.

ALTER SHARE <share-name> ADD MODEL <catalog-name>.<schema-name>.<featurespec-name>
   [AS <alias>];

--옵션에는 다음이 포함됩니다:

  • AS <alias>: FeatureSpec 이름을 더 쉽게 읽을 수 있도록 하는 대체 이름 또는 별칭입니다. 별칭은 FeatureSpec 받는 사람이 보고 쿼리에 사용해야 하는 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 FeatureSpec 이름을 사용할 수 없습니다. <schema-name>.<featurespec-name> 형식을 사용합니다.

ALTER SHARE 옵션에 대한 자세한 내용은 ALTER SHARE참조하세요.

CLI

Databricks CLI 0.210 이상을 사용하여 개체 형식을 모델로 지정하는 다음 명령을 실행합니다.

 databricks shares update <share-name> \
   --json '{
     "updates": [
       {
         "action": "ADD",
         "data_object": {
           "name": "<featurespec-full-name>",
           "data_object_type": "MODEL",
           "string_shared_as": "<featurespec-alias>"
         }
       }
     ]
   }'

"string_shared_as": "<volume-alias>" 는 선택 사항이며 이름을 더 쉽게 읽을 수 있도록 대체 FeatureSpec 이름 또는 별칭을 FeatureSpec 제공합니다. 별칭은 FeatureSpec 받는 사람이 보고 쿼리에 사용해야 하는 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 FeatureSpec 이름을 사용할 수 없습니다. <schema-name>.<featurespec-name> 형식을 사용합니다.

추가 매개 변수에 대해 알아보려면 REST databricks shares update --help를 실행 하거나 참조하세요.

공유에 모델 추가

공유에 모델을 추가하기 전에 요구 사항을 충족하는지 확인합니다.

Note

모델 주석 및 모델 버전 주석은 Databricks-to-Databricks 공유를 사용하여 공유되는 공유에 포함됩니다.

추가 요구 사항

  • 모델 공유는 Databricks-to-Databricks 공유에서만 지원됩니다.
  • 공유에 모델을 추가할 때 버전 2023.50 이상의 SQL 웨어하우스 또는 Databricks Runtime 14.0 이상의 컴퓨팅 리소스를 사용해야 합니다.

받는 사람과 모델 공유

이 섹션에서는 Azure Databricks Notebook 또는 SQL 쿼리 편집기에서 카탈로그 탐색기, Databricks CLI 또는 SQL 명령을 사용하여 공유에 모델을 추가하는 방법을 설명합니다. Unity 카탈로그 REST API를 사용하려면 REST API 참조에서 PATCH /api/2.1/unity-catalog/shares/ 를 참조하세요.

공유에 모델을 추가하려면 다음을 수행합니다.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 항목 탭에서 모델을 추가할 공유 항목을 찾아 이름을 클릭합니다.

  4. >클릭합니다.

  5. 자산 편집 페이지에서 공유하려는 모델을 검색하거나 찾아 선택합니다.

    또는 모델을 포함하는 전체 스키마를 선택할 수 있습니다. 공유에 스키마 추가를 참조하세요.

  6. (선택 사항) 말풍선 더하기 아이콘을 클릭합니다. 별칭 열 아래에서 대체 모델 이름, 즉 별칭을 지정하여 모델 이름이 더 읽기 쉽게 만듭니다.

    전체 스키마를 선택하면 별칭을 사용할 수 없습니다.

    별칭은 받는 사람이 보고 쿼리에 사용해야 하는 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 모델 이름을 사용할 수 없습니다.

  7. 저장을 클릭합니다.

SQL

Notebook 또는 Databricks SQL 쿼리 편집기에서 다음 명령을 실행합니다.

ALTER SHARE <share-name> ADD MODEL <catalog-name>.<schema-name>.<model-name>
   [COMMENT "<comment>"]
   [AS <alias>];

옵션은 다음과 같습니다.

  • AS <alias>: 모델 이름을 더 쉽게 읽을 수 있도록 하는 대체 모델 이름 또는 별칭입니다. 별칭은 받는 사람이 보고 쿼리에 사용해야 하는 모델 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 모델 이름을 사용할 수 없습니다. <schema-name>.<model-name> 형식을 사용합니다.
  • COMMENT "<comment>": 설명은 카탈로그 탐색기 UI에 표시되고 SQL 문을 사용하여 모델 세부 정보를 나열하고 표시할 때 표시됩니다.

ALTER SHARE 옵션에 대한 자세한 내용은 ALTER SHARE참조하세요.

CLI

Databricks CLI 0.210 이상을 사용하여 다음 명령을 실행합니다.

 databricks shares update <share-name> \
   --json '{
     "updates": [
       {
         "action": "ADD",
         "data_object": {
           "name": "<model-full-name>",
           "data_object_type": "MODEL",
           "string_shared_as": "<model-alias>"
         }
       }
     ]
   }'

"string_shared_as": "<model-alias>" 는 선택 사항이며 모델 이름을 더 쉽게 읽을 수 있도록 대체 모델 이름 또는 별칭을 제공합니다. 별칭은 받는 사람이 보고 쿼리에 사용해야 하는 모델 이름입니다. 별칭이 지정된 경우 받는 사람은 실제 모델 이름을 사용할 수 없습니다. <schema-name>.<model-name> 형식을 사용합니다.

추가 매개 변수에 대해 알아보려면 REST databricks shares update --help를 실행 하거나 참조하세요.

공유에서 모델을 제거하는 방법에 대한 자세한 내용은 공유 업데이트를 참조하세요.

공유에 전자 필기장 파일 추가

공유에 Notebook 파일을 추가하기 전에 요구 사항을 충족하는지 확인합니다.

카탈로그 탐색기를 사용하여 공유에 Notebook 파일을 추가합니다.

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.
  2. 델타 공유 > 단추를 클릭합니다.
  3. 내가 공유한 항목 탭에서 전자 필기장을 추가할 공유 항목을 찾아 해당 이름을 클릭합니다.
  4. 자산 관리를 클릭하고 Notebook 파일 추가를 선택합니다.
  5. 전자 필기장 파일 추가 페이지에서 파일 아이콘을 클릭하여 공유할 전자 필기장을 찾습니다.
    • 공유할 파일을 클릭하고 선택을 클릭합니다.
    • (선택 사항) 공유 필드의 파일에 대한 사용자에게 친숙한 별칭을 지정합니다. 받는 사람이 보는 식별자입니다.
    • 스토리지 위치 아래에서 Notebook을 저장할 클라우드 스토리지의 외부 위치를 입력합니다. 정의된 외부 위치 아래에 하위 경로를 지정할 수 있습니다. 외부 위치를 지정하지 않으면 Notebook이 메타스토어 수준 스토리지 위치(또는 "메타스토어 루트 위치")에 저장됩니다. 메타스토어에 대해 정의된 루트 위치가 없는 경우 여기에 외부 위치를 입력해야 합니다. 기존 메타스토어에 관리되는 스토리지 추가를 참조하세요.
  6. 저장을 클릭합니다.

이제 공유 전자 필기장 파일이 자산 탭의 전자 필기장 파일 목록에 표시됩니다.

공유에서 Notebook 파일 제거

공유에서 Notebook 파일을 제거하려면 다음을 수행합니다.

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 항목 탭에서 전자 필기장이 포함된 공유 항목을 찾아 그 이름을 클릭합니다.

  4. 자산 탭에서 공유에서 제거할 Notebook 파일을 찾습니다.

  5. Kebab 메뉴 아이콘 을 클릭합니다. 행 오른쪽의 kebab 메뉴에서 전자 필기장 파일 삭제를 선택합니다.

  6. 확인 대화 상자에서 삭제를 클릭합니다.

공유의 Notebook 파일 업데이트

이미 공유한 전자 필기장을 업데이트하려면 해당 전자 필기장을 다시 추가하여 공유 필드의 새 별칭을 제공해야 합니다. Databricks는 전자 필기장 수정 상태를 나타내는 이름(예: <old-name>-update-1.)을 사용하는 것이 좋습니다. 변경 사항을 받는 사람에게 알려야 할 수도 있습니다. 받는 사람은 업데이트를 활용하려면 새 전자 필기장을 선택하고 복제해야 합니다.

외부 Iceberg 클라이언트에 대한 공유 설정 사용

Important

이 기능은 공개 미리 보기로 제공됩니다.

Apache Iceberg REST 카탈로그 API를 사용하는 외부 Iceberg 클라이언트와 델타 테이블, 외국 Iceberg 테이블, 뷰, 구체화된 뷰 및 스트리밍 테이블을 공유할 수 있습니다.

공유하기 전에 공유에 데이터 자산을 추가하는 데 필요한 델타 공유 요구 사항을 충족하는지 확인합니다. 테이블에 대한 삭제 벡터도 사용하지 않도록 설정해야 합니다.

Note

이 기능은 관리되는 Iceberg 테이블을 공유하는 경우와 다릅니다.

외부 Iceberg 클라이언트와 데이터 자산을 공유하려면 다음을 수행합니다.

  1. 델타 테이블을 공유하는 경우 각 Delta 테이블을 Iceberg 호환 테이블 IcebergCompatV2 로 노출하도록 구성합니다. 이렇게 하면 표준 델타 작업과 함께 Iceberg 메타데이터를 비동기식으로 생성할 수 있습니다. Delta 테이블을 Iceberg 클라이언트와 공유하기 위한 요구 사항을 충족하는지 확인하고 제한 사항을 준수합니다. Iceberg 읽기를 사용하도록 설정하는 방법을 알아보려면 Iceberg 읽기 사용(UniForm)을 참조하세요.

    Snowflake에 공유하는 경우 받는 사람에 대해 균일하게 사용할 수 있는 테이블만 표시됩니다. 다른 테이블이 필터링됩니다.

    Note

    • Iceberg 클라이언트에서 테이블을 쿼리하기 전에 Iceberg 메타데이터 생성이 완료되었는지 확인하는 데 사용합니다 DESCRIBE HISTORY .
    • OIDC 인증 유형은 지원되지 않습니다.
  2. 공유에 데이터 자산을 추가합니다. 자세한 지침은 다음을 참조하세요.

    Important

    뷰, 구체화된 뷰 또는 스트리밍 테이블을 공유하는 경우 공급자 쪽 데이터 구체화가 트리거되며, 이로 인해 컴퓨팅 비용이 누적될 수 있습니다. 자세한 내용은 델타 공유 비용을 발생시키고 확인하는 방법을 참조하세요.

  3. 현재 연결된 수신자와 공유합니다. 받는 사람을 만들고 공유에 대한 액세스 권한을 부여하는 방법에 대한 지침은 전달자 토큰(공유 열기)을 사용하여 Databricks가 아닌 사용자에 대한 받는 사람 개체 만들기를 참조하세요.

받는 사람에게 공유에 대한 액세스 권한 부여

받는 사람에게 공유에 대한 액세스 권한을 부여하기 전에 요구 사항을 충족하는지 확인합니다.

지침은 델타 공유 데이터 공유에 대한 액세스 관리(공급자용)를 참조하세요. 이 페이지에서는 공유에 대한 받는 사람의 액세스 권한을 취소하는 방법도 설명합니다.

공유 및 공유 세부 정보 보기

공유를 보기 전에 요구 사항을 충족하는지 확인하고 세부 정보를 공유합니다.

공유 목록 또는 공유에 대한 세부 정보를 보려면 Azure Databricks Notebook 또는 Databricks SQL 쿼리 편집기에서 카탈로그 탐색기, Databricks Unity 카탈로그 CLI 또는 SQL 명령을 사용합니다.

공유 세부 정보에는 다음이 포함됩니다.

  • 공유의 소유자, 작성자, 생성 타임스탬프, 업데이트한 사람, 업데이트된 타임스탬프, 댓글.
  • 공유의 데이터 자산입니다.
  • 공유에 대한 액세스 권한이 있는 수신자.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 공유 탭을 열어 공유 목록을 봅니다.

  4. 세부 정보 탭에서 공유 세부 정보를 봅니다.

SQL

공유 목록을 보려면 Notebook 또는 Databricks SQL 쿼리 편집기에서 다음 명령을 실행합니다. 선택적으로 <pattern>LIKE 조건자로 바꾸십시오.

SHOW SHARES [LIKE <pattern>];

특정 공유에 대한 세부 정보를 보려면 다음 명령을 실행합니다.

DESCRIBE SHARE <share-name>;

공유의 모든 테이블, 뷰 및 볼륨에 대한 세부 정보를 보려면 다음 명령을 실행합니다.

SHOW ALL IN SHARE <share-name>;

CLI

공유 목록을 보려면 Databricks CLI를 사용하여 다음 명령을 실행합니다.

databricks shares list

특정 공유에 대한 세부 정보를 보려면 다음 명령을 실행합니다.

databricks shares get <share-name>

공유에 대한 권한이 있는 수신자 보기

받는 사람을 보기 전에 요구 사항을 충족하는지 확인합니다.

받는 사람에게 액세스 권한이 부여된 공유 목록을 보려면 Azure Databricks Notebook 또는 Databricks SQL 쿼리 편집기에서 카탈로그 탐색기, Databricks Unity 카탈로그 CLI 또는 SHOW GRANTS TO RECIPIENT SQL 명령을 사용합니다.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 탭에서 받는 사람을 찾아 선택합니다.

  4. 받는 사람 탭으로 이동하여 공유에 액세스할 수 있는 받는 사람 목록을 봅니다.

SQL

Notebook 또는 Databricks SQL 쿼리 편집기에서 다음 명령을 실행합니다.

SHOW GRANTS ON SHARE <share-name>;

CLI

Databricks CLI를 사용하여 다음 명령을 실행합니다.

databricks shares share-permissions <share-name>

공유 업데이트

공유를 업데이트하기 전에 요구 사항을 충족하는지 확인합니다.

다음과 같은 방법으로 공유를 업데이트할 수 있습니다.

  • 공유 이름을 바꿉니다.
  • 공유에서 테이블, 뷰, 볼륨 및 스키마를 제거합니다.
  • 공유에 대한 설명을 추가하거나 업데이트합니다.
  • 테이블의 별칭 이름을 바꿉니다(받는 사람에게 표시되는 테이블 이름).
  • 테이블의 기록 데이터에 대한 액세스를 사용하거나 사용하지 않도록 설정하면 받는 사람이 시간 이동 쿼리 또는 테이블의 스트리밍 읽기를 수행할 수 있습니다.
  • 파티션 정의를 추가, 업데이트 또는 제거합니다.
  • 공유 소유자를 변경합니다.

공유를 업데이트하려면 Azure Databricks Notebook 또는 Databricks SQL 쿼리 편집기에서 카탈로그 탐색기, Databricks Unity 카탈로그 CLI 또는 SQL 명령을 사용합니다. 그러나 카탈로그 탐색기를 사용하여 공유 이름을 바꿀 수는 없습니다.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 항목 탭에서 업데이트할 공유 항목을 찾아 해당 이름을 클릭합니다.

공유 세부 정보 페이지에서 다음을 수행합니다.

  • 소유자 또는 메모 필드 옆에 있는 편집 아이콘 편집 아이콘을 클릭하여 이러한 값을 업데이트합니다.
  • 케밥 메뉴 케밥 메뉴 아이콘 을 클릭합니다. 자산 행의 단추를 클릭하여 제거합니다.
  • 자산 > 관리를 클릭하여 자산 편집을 클릭하여 다른 모든 속성을 업데이트합니다.
    • 자산을 제거하려면 자산 옆에 있는 확인란의 선택을 취소합니다.
    • 파티션 정의를 추가, 업데이트 또는 제거하려면 고급 옵션을 클릭합니다.

SQL

Notebook 또는 Databricks SQL 편집기에서 다음 명령을 실행합니다.

공유 이름 바꾸기:

ALTER SHARE <share-name> RENAME TO <new-share-name>;

공유에서 테이블 제거:

ALTER SHARE share_name REMOVE TABLE <table-name>;

공유에서 볼륨 제거:

ALTER SHARE share_name REMOVE VOLUME <volume-name>;

공유에 댓글 추가 또는 업데이트:

COMMENT ON SHARE <share-name> IS '<comment>';

공유의 테이블에 대한 파티션 추가 또는 수정:

ALTER SHARE <share-name> ADD TABLE <table-name> PARTITION(<clause>);

공유 소유자 변경:

ALTER SHARE <share-name> OWNER TO  '<principal>'

-- Principal must be an account-level user email address or group name.

테이블에 대한 기록 공유를 사용하도록 설정합니다.

ALTER SHARE <share-name> ADD TABLE <table-name> WITH HISTORY;

ALTER SHARE 매개 변수에 대한 자세한 내용은 ALTER SHARE참조하세요.

CLI

Databricks CLI를 사용하여 다음 명령을 실행합니다.

공유 이름 바꾸기:

databricks shares update <share-name> --name <new-share-name>

공유에서 테이블 제거:

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "REMOVE",
        "data_object": {
          "name": "<table-full-name>",
          "data_object_type": "TABLE",
          "shared_as": "<table-alias>"
        }
      }
    ]
  }'

공유에서 볼륨 제거(Databricks CLI 0.210 이상 사용):

databricks shares update <share-name> \
  --json '{
    "updates": [
      {
        "action": "REMOVE",
        "data_object": {
          "name": "<volume-full-name>",
          "data_object_type": "VOLUME",
          "string_shared_as": "<volume-alias>"
        }
      }
    ]
  }'

Note

볼륨에 name 대한 별칭이 없는 경우 속성을 사용합니다. 별칭이 있는 경우 사용합니다 string_shared_as .

공유에 댓글 추가 또는 업데이트:

databricks shares update <share-name> --comment '<comment>'

공유 소유자 변경:

databricks  shares update <share-name> --owner '<principal>'

보안 주체는 계정 수준의 사용자 이메일 주소 또는 그룹 이름이어야 합니다.

공유 소유자 업데이트 시 고려 사항

공유 소유자는 ABAC 정책과 같은 권한 부여 및 보안 기능을 평가하는 방법에 영향을 줍니다. 공유 소유권을 지나치게 권한 있는 사용자에게 양도하면 ABAC 정책으로 보호되는 테이블 또는 스키마가 있는 경우 받는 사람이 과도하게 권한 있는 액세스 권한을 가질 수 있습니다.

공유 삭제

공유를 삭제하면 수신자는 더 이상 공유 데이터에 액세스할 수 없습니다. 공유 개체를 삭제하기 전에 요구 사항을 충족하는지 확인합니다.

공유를 삭제하려면 Azure Databricks Notebook 또는 Databricks SQL 쿼리 편집기에서 카탈로그 탐색기, Databricks Unity 카탈로그 CLI 또는 DELETE SHARE SQL 명령을 사용합니다. 공유의 소유자여야 합니다.

카탈로그 탐색기

  1. Azure Databricks 작업 영역에서 데이터 아이콘을 클릭합니다.카탈로그.

  2. 카탈로그 창의 맨 위에서 기어 아이콘을 클릭합니다. 기어 아이콘을 클릭하고 델타 공유를 선택합니다.

    또는 빠른 액세스 페이지에서 델타 공유 > 단추를 클릭합니다.

  3. 내가 공유한 탭에서 삭제할 공유를 찾아 해당 이름을 클릭합니다.

  4. Kebab 메뉴 아이콘 을 클릭합니다. 케밥 메뉴를 클릭하고 삭제를 선택합니다.

  5. 확인 대화 상자에서 삭제를 클릭합니다.

SQL

Notebook 또는 Databricks SQL 쿼리 편집기에서 다음 명령을 실행합니다.

DROP SHARE [IF EXISTS] <share-name>;

CLI

Databricks CLI를 사용하여 다음 명령을 실행합니다.

databricks shares delete <share-name>