코드 예제: Apache Spark™

코드 예제: Apache Spark™

일반적으로 사용 가능(GA) — 정부 리전에서는 사용할 수 없어요.

이 섹션은 Apache Spark™를 사용해 Snowflake Open Catalog에서 다음 작업을 수행하는 코드 예제를 제공해요:

  • 서비스 연결 구성
  • 카탈로그 사용
  • 카탈로그 나열
  • 네임스페이스 나열
  • 네임스페이스 만들기
  • 네임스페이스 사용
  • 네임스페이스 삭제
  • 테이블 만들기
  • 테이블 쿼리
  • 테이블 속성 표시
  • 테이블 나열
  • 테이블 삭제

출처: Code examples: Apache Spark™

본문

필수 권한

코드 예제에 포함된 명령을 수행하려면 Spark를 Open Catalog에 연결하는 데 사용하는 서비스 주체에 다음 권한이 부여돼야 해요:

명령 필수 권한
네임스페이스 표시 NAMESPACE_LIST
네임스페이스 만들기 NAMESPACE_CREATE
네임스페이스 사용 NAMESPACE_READ_PROPERTIES
테이블 표시 TABLE_LIST
테이블 만들기 또는 교체 TABLE_WRITE_DATA, TABLE_CREATE
네임스페이스 삭제 NAMESPACE_DROP
테이블 삭제 TABLE_DROP
테이블에 삽입 TABLE_WRITE_DATA
테이블에서 선택 TABLE_READ_DATA

서비스 연결 구성

Spark에서 서비스 연결 구성 예제를 참조하세요.

카탈로그 사용

catalog1 카탈로그를 사용하세요:

spark.sql("use catalog1").show()

카탈로그 나열

연결된 카탈로그를 나열하세요:

spark.sql("show catalogs").show()

네임스페이스 나열

연결된 카탈로그의 네임스페이스를 나열하세요:

spark.sql("show namespaces").show()

네임스페이스 만들기

namespace1 네임스페이스를 만드세요:

spark.sql("CREATE NAMESPACE namespace1")

네임스페이스 사용

namespace1 네임스페이스를 사용하세요:

spark.sql("use namespace1").show()

네임스페이스 삭제

카탈로그에서 namespace1 네임스페이스를 삭제하세요:

spark.sql("DROP NAMESPACE namespace1")

테이블 만들기

부모 네임스페이스 namespace1 아래에 customers 테이블을 만드세요:

spark.sql ("use namespace1");
spark.sql("CREATE OR REPLACE TABLE customers (id int, custnum int) using iceberg")

테이블 쿼리

customers 테이블을 쿼리하세요:

spark.sql ("use namespace1");
spark.sql("SELECT * FROM customers").show()

테이블 속성 표시

customers 테이블의 테이블 속성을 표시하세요:

spark.sql("SHOW TBLPROPERTIES customers").show(50, False)

테이블 나열

연결된 카탈로그의 테이블을 나열하세요:

spark.sql("show tables").show()

테이블 삭제

부모 네임스페이스 namespace1 아래의 customers 테이블을 삭제하세요:

spark.sql ("use namespace1");
spark.sql("DROP TABLE customers")

더 알아보기