서드파티 엔진으로 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()

더 알아보기