코드 예제: Apache Spark™
코드 예제: Apache Spark™
일반적으로 사용 가능(GA) — 정부 리전에서는 사용할 수 없어요.
이 섹션은 Apache Spark™를 사용해 Snowflake Open Catalog에서 다음 작업을 수행하는 코드 예제를 제공해요:
- 서비스 연결 구성
- 카탈로그 사용
- 카탈로그 나열
- 네임스페이스 나열
- 네임스페이스 만들기
- 네임스페이스 사용
- 네임스페이스 삭제
- 테이블 만들기
- 테이블 쿼리
- 테이블 속성 표시
- 테이블 나열
- 테이블 삭제
본문
필수 권한
코드 예제에 포함된 명령을 수행하려면 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")