Snowflake에서 Snowflake Open Catalog 가 있는 Apache Iceberg™ 테이블 사용¶
Snowflake의 Apache Iceberg™ 테이블을 사용하여 Snowflake Open Catalog 로 작업합니다.
Snowflake Open Catalog 란 무엇입니까?¶
Open Catalog 는 오픈소스 Apache Iceberg REST 프로토콜을 기반으로 구축된 Iceberg용 카탈로그 구현입니다. 자세한 내용은 Snowflake Open Catalog 설명서를 참조하십시오.
Snowflake는 Open Catalog 작업 시 다음과 같은 옵션을 지원합니다.
고려 사항¶
Open Catalog 에서 Snowflake를 사용할 때는 다음 고려 사항에 유의하십시오.
저장소
에서 관리하는 Iceberg 테이블 과 마찬가지로 Open Catalog 에서 관리하는 Iceberg 테이블을 외부 클라우드 저장소에 저장합니다.
Snowflake의 Iceberg 테이블은 외부 볼륨 을 사용하여 클라우드 저장소에 대한 액세스를 제공하는 반면, Open Catalog 에서 관리되는 테이블은 스토리지 구성 을 사용합니다.
Snowflake 관리 Iceberg 테이블 동기화를 위한 구성
Snowflake 관리 테이블을 Open Catalog 와 동기화하려면 먼저 Snowflake에서 외부 볼륨을 생성한 다음 Open Catalog 에서 외부 볼륨과 동일한 위치를 가리키는 외부 카탈로그를 생성해야 합니다. 자세한 내용은 Snowflake 관리 테이블을 Snowflake Open Catalog 와 동기화하기 섹션을 참조하십시오.
테이블 액세스
Open Catalog 와 동기화하는 Snowflake 관리 Iceberg 테이블은 Open Catalog 에서 읽기 전용입니다.
Snowflake는 Open Catalog 에서 관리하는 테이블에 쿼리할 수 있지만 쓸 수는 없습니다.
용어의 차이점¶
이 섹션에서는 Snowflake와 Open Catalog 의 주요 용어 차이점을 요약하여 설명합니다.
Snowflake 용어 |
Open Catalog 용어 |
---|---|
Open Catalog 는 카탈로그 를 사용하며, 이는 Snowflake의 데이터베이스와 같습니다. Open Catalog 에서 하나 이상의 카탈로그 리소스를 만들어 네임스페이스 아래에 Iceberg 테이블을 조직합니다. 자세한 내용은 Open Catalog 설명서의 카탈로그 를 참조하십시오. Snowflake 관리 테이블을 Open Catalog 와 동기화하면 Snowflake는 두 개의 상위 항목 네임스페이스를 사용하여 테이블의 카탈로그 통합과 연결된 카탈로그와 테이블을 동기화합니다. 네임스페이스는 Snowflake에서 테이블의 데이터베이스 및 스키마에 해당합니다. 예를 들어, Snowflake에 등록된 |
|
Open Catalog 에서 스키마와 네임스페이스의 개념은 동의어이며 서로 바꿔서 사용할 수 있습니다. Namespace 는 Open Catalog 사용자 인터페이스에 표시됩니다. Open Catalog 네임스페이스를 사용하여 오브젝트 컬렉션을 저장하며 _namespace_라는 용어는 Open Catalog 설명서에서 주로 사용됩니다. 네임스페이스에 대한 자세한 내용은 네임스페이스 섹션을 참조하십시오. 그러나 Apache Spark와 같은 서드 파티 쿼리 엔진을 사용하는 경우 CREATE SCHEMA 또는 CREATE DATABASE 명령을 실행하면 Open Catalog 에 네임스페이스가 생성됩니다. CREATE NAMESPACE 명령을 실행하여 네임스페이스를 만들 수도 있습니다. |
|
Snowflake와 마찬가지로 Open Catalog 는 네임스페이스를 사용하지만 Snowflake가 네임스페이스를 사용하는 방식과 비교하면 주요 차이점이 있습니다. Open Catalog 의 카탈로그는 사용자가 정의하는 최상위 네임스페이스와 그 아래에 정의하는 여러 개의 중첩된 네임스페이스로 구성됩니다. 중첩 네임스페이스를 사용하면 같은 카탈로그 내에 같은 이름의 테이블을 등록할 수 있습니다. 예를 들어,
또한 Open Catalog 에서 최상위 네임스페이스를 포함하여 네임스페이스 계층 구조의 모든 네임스페이스 아래에 있는 테이블을 그룹화할 수 있습니다. 샘플 Open Catalog 구조의 개념도를 포함하여 네임스페이스에 대한 자세한 내용은 Open Catalog의 주요 개념 섹션을 참조하십시오. |
|
Open Catalog 에서 주체 역할 은 Snowflake의 역할과 비슷하지만 주요 차이점이 있습니다. 주체 역할에는 권한을 부여하지 않습니다. 대신 카탈로그 역할에 권한을 부여하고, 이 권한을 다시 주 역할에 부여한 다음 주 역할을 서비스 주체에 부여하여 서비스 주체에 권한을 부여합니다. 또한 다른 주체 역할에 주 역할을 할당할 수 없습니다. 서비스 주체에게는 하나의 주체 역할만 부여할 수 있습니다. 주체 역할을 사용하여 서비스 주체를 논리적으로 그룹화할 수 있습니다. 주체 역할의 범위는 모든 카탈로그에 걸쳐 있습니다. 또한 주체 역할의 종류도 다양하지 않습니다. 자세한 내용은 Open Catalog 설명서의 주체 역할 섹션을 참조하십시오. |
|
Open Catalog 는 카탈로그 역할 을 사용하며, 이는 Snowflake의 데이터베이스 역할과 같습니다. 카탈로그 역할은 카탈로그 또는 카탈로그의 오브젝트에 대한 작업에 대한 권한 세트를 지정합니다. 카탈로그 역할의 범위는 해당 카탈로그가 생성되는 카탈로그입니다. Open Catalog 에서 카탈로그 역할에 대한 권한을 부여합니다. 그런 다음 카탈로그 역할을 주 역할에 부여한 다음 서비스 주 역할에 주 역할을 부여하여 리소스에 대한 액세스 권한을 부여합니다. 기본 역할에는 여러 개의 카탈로그 역할을 부여할 수 있지만 서비스 기본 역할에는 하나의 기본 역할만 부여할 수 있습니다. 자세한 내용은 Open Catalog 설명서의 카탈로그 역할 섹션을 참조하십시오. |
|
액세스 제어의 맥락에서 Open Catalog 에는 사용자라는 개념이 없습니다. Open Catalog 에서는 사용자가 아닌 서비스 관리자 에게 권한이 부여됩니다. 쿼리 엔진은 서비스 주체를 사용하여 카탈로그에 연결합니다. 자세한 내용은 Open Catalog 설명서의 서비스 관리자 섹션을 참조하십시오. |
법적 고지¶
Apache®, Apache Iceberg™, Apache Spark™, Apache Flink® 및 Flink®는 Apache Software Foundation의 미국 및/또는 기타 국가에서 등록 상표 또는 상표입니다.