コード例: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

  • TABLE_WRITE_DATA
  • TABLE_CREATE

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")