コード例: Apache Spark™¶
このセクションでは、Snowflakeオープンカタログで以下のタスクを実行するためにApache Spark™を使用するためのコード例を示しています。
サービス接続の設定
カタログを使用する
カタログを一覧表示する
名前空間を一覧表示する
名前空間の作成
名前空間を使用する
名前空間を削除する
テーブルを作成する
テーブルをクエリする
テーブルプロパティを表示する
テーブルを一覧表示する
テーブルを削除する
必要な権限¶
コード例に含まれるコマンドを実行するには、Sparkをオープンカタログに接続するために使用するサービスプリンシパルに以下の権限を付与する必要があります。
コマンド |
必要な権限 |
---|---|
Show Namespaces |
NAMESPACE_LIST |
Create namespace |
NAMESPACE_CREATE |
Use namespace |
NAMESPACE_READ_PROPERTIES |
Show tables |
TABLE_LIST |
Create or replace table |
|
Drop namespace |
NAMESPACE_DROP |
テーブルを削除 |
TABLE_DROP |
Insert into table |
TABLE_WRITE_DATA |
Select from table |
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")