서드 파티 엔진을 사용하여 Snowflake Open Catalog에서 테이블 쿼리하기

이 항목에서는 서드 파티 쿼리 엔진을 사용하여 Snowflake Open Catalog의 테이블을 쿼리하는 방법에 대한 지침을 제공합니다.

전제 조건

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에서 쿼리에서 해당 오브젝트를 참조할 때 다음을 수행해야 합니다.

    • 오브젝트 이름을 백틱으로 묶습니다.

    • 해당하는 경우 다른 문자로 렌더링된 문자를 계정하기 위해 카탈로그 열기에서 표시된 대로 오브젝트 이름을 정확하게 지정합니다.

    다음 예제는 큰따옴표로 생성된 My 'Identifier' Snowflake 식별자가 Open Catalog의 쿼리에서 참조되는 것을 보여줍니다.

      spark.sql ("select * from `My+'Identifier'`.PUBLIC.TABLE1").show()
    
    Copy

    Open Catalog는 큰따옴표로 묶인 Snowflake 식별자의 공백 문자를 + 로 표시합니다.

예: 테이블 쿼리

다음 예제 코드에서는 Apache Spark를 사용하여 카탈로그 catalog1customers 테이블을 쿼리하는 방법을 보여줍니다. customers 테이블은 namespace1a 아래에 있으며, 최상위 네임스페이스 namespace1 아래에 중첩되어 있습니다.

spark.sql("use catalog1").show()
spark.sql("use namespace1.namespace1a").show()
spark.sql("SELECT * FROM customers").show()
Copy