동적 테이블과 데이터 공유하기

동적 테이블은 공유 가능한 오브젝트입니다. 동적 테이블을 공유하기 위해 데이터 공유 공급자는 동적 테이블에 대한 권한을 공유에 부여하며, 이에 따라 데이터 공유 컨슈머가 동적 테이블을 사용할 수 있게 됩니다.

동적 테이블과 데이터를 공유하는 방법

동적 테이블을 다른 Snowflake 계정과 공유하려면 공유 또는 애플리케이션 패키지에 동적 테이블을 추가하면 됩니다.

  • 리전 내 계정과 동적 테이블을 공유하려면 직접 공유를 사용하면 됩니다. 자세한 내용은 Snowflake에서의 데이터 공유 및 공동 작업 섹션을 참조하십시오.

  • 다른 리전의 계정과 동적 테이블을 공유하려면 공유 또는 애플리케이션 패키지를 목록에 데이터 제품으로 추가하고 클라우드 간 자동 복제를 설정하십시오. 자세한 내용은 목록 생성하기 및 게시 섹션을 참조하십시오.

데이터 공유 공급자는 다음 예시와 같이 단일 동적 테이블에 대한 SELECT 권한을 부여하거나 데이터베이스의 모든 동적 테이블에 대한 SELECT 권한을 부여하도록 선택할 수 있습니다.

GRANT SELECT ON ALL DYNAMIC TABLES IN SCHEMA mydb.public TO SHARE share1;

GRANT SELECT ON DYNAMIC TABLE mydb.public TO SHARE share1;
Copy

자세한 내용은 GRANT <권한> … TO SHARE 섹션을 참조하십시오.

공유 데이터를 수집하기 위한 동적 테이블 만들기

동적 테이블을 사용하여 공유 데이터를 수집하는 경우 쿼리는 공유 동적 테이블이나 업스트림 동적 테이블을 참조하는 공유 보안 뷰에서 선택할 수 없습니다.

공유 데이터를 수집하기 위해 동적 테이블을 만들려면 다음을 수행하십시오.

  1. 올바른 권한 이 있는지 확인하고 공유에서 데이터베이스를 만들고 그에 대한 권한을 부여합니다.

    CREATE DATABASE my_shared_db FROM SHARE provider_account.share1;
    
    Copy
  2. 공유 데이터베이스에 권한을 부여합니다.

  3. 공유 동적 테이블을 만듭니다.

CREATE OR REPLACE DYNAMIC TABLE my_dynamic_table
  TARGET_LAG = '1 day'
  WAREHOUSE = mywh
  AS
    SELECT * FROM my_shared_db.public.mydb;
Copy

참고

동적 테이블에서 사용하는 모든 기본 오브젝트에서 변경 내용 추적을 활성화해야 합니다. 동적 테이블을 사용하여 공유 데이터를 수집하려면 데이터 공유 공급자가 공유 오브젝트에서 change_tracking 을 활성화해야 합니다. 자세한 내용은 변경 내용 추적 활성화 섹션을 참조하십시오.