서드파티 엔진으로 Snowflake Open Catalog의 테이블 쿼리
서드파티 엔진으로 Snowflake Open Catalog의 테이블 쿼리
일반적으로 사용 가능(GA) — 정부 리전에서는 사용할 수 없어요.
이 주제는 서드파티 쿼리 엔진을 사용해 Snowflake Open Catalog의 테이블을 쿼리하는 방법에 대한 지침을 제공해요.
출처: Query a table in Snowflake Open Catalog using a third-party engine
본문
사전 요구 사항
Open Catalog에서 테이블을 쿼리하기 전에 다음을 수행해야 해요:
- 카탈로그 만들기.
- 만든 카탈로그에 읽기 권한 부여. 자세한 내용은 카탈로그 보호를 참조하세요.
- 서비스 연결 구성.
- 구성한 서비스 연결 등록. 자세한 내용은 서비스 연결 등록을 참조하세요.
Snowflake 관리 Apache Iceberg™ 테이블 쿼리 고려 사항
Snowflake를 사용하고 Snowflake 관리 Iceberg 테이블을 Open Catalog에 동기화한다면, Open Catalog에서 테이블을 쿼리할 때 다음 고려 사항을 인지하세요:
- 따옴표 없는 식별자: Snowflake에서 데이터베이스, 스키마 또는 Iceberg 테이블을 만들고 이름을 큰따옴표로 묶지 않고 문자를 포함해 이름을 지었다면, Open Catalog에서 참조할 때 이름을 모두 대문자로 지정해야 해요. 예를 들어 Snowflake에서 이름이
iceberg_tables.public.table1이라면 Open Catalog에서는ICEBERG_TABLES.PUBLIC.TABLE1을 사용하세요. - 큰따옴표로 묶인 식별자: Snowflake에서 객체를 큰따옴표로 묶은 이름으로 만들었다면, Open Catalog의 쿼리에서 객체를 참조할 때 다음을 수행해야 해요:
- 객체 이름을 백틱으로 감싸세요.
- 해당되는 경우 다른 문자로 렌더링된 문자를 처리하기 위해 Open Catalog에 표시된 대로 객체 이름을 정확히 지정하세요.
다음 예제는 큰따옴표로 만들어진 My 'Identifier' Snowflake 식별자를 Open Catalog의 쿼리에서 참조하는 방법을 보여줘요:
spark.sql ("select * from `My+'Identifier'`.PUBLIC.TABLE1").show()
Open Catalog는 큰따옴표로 묶인 Snowflake 식별자의 공백 문자를 +로 렌더링해요.
예제: 테이블 쿼리
다음 예제 코드는 Apache Spark를 사용해 카탈로그 catalog1의 customers 테이블을 쿼리하는 방법을 보여줘요. customers 테이블은 최상위 네임스페이스 namespace1 아래에 중첩된 namespace1a 아래에 있어요:
spark.sql("use catalog1").show()
spark.sql("use namespace1.namespace1a").show()
spark.sql("SELECT * FROM customers").show()