Snowpark

注釈

Snowparkは現在、Amazon Web Services(AWS)でホストされているSnowflakeアカウントで使用するScalaプログラミング言語で利用できます。

Snowparkは、データのクエリと処理のための直感的な API を提供する新しい開発者エクスペリエンスです。Snowparkは、複雑なデータパイプラインを構築するプロセスを簡素化し、アプリケーションコードが実行されるシステムにデータを移動することなく、Snowflakeと直接対話できるようにします。Snowparkには、他のクライアントライブラリとの差別化をもたらすいくつかの機能があります。

  • Snowpark API は、 SQL ステートメントを構築するためのプログラミング言語構造を提供します。たとえば、 API は、 'select column_name' を文字列として記述するのではなく、返す列名を指定するために使用できる select メソッドを提供します。

    文字列を使用して実行する SQL ステートメントを指定することもできますが、Snowparkが提供するネイティブ言語構造を使用すると、 インテリジェントコード補完 や型チェックなどの機能を利用できます。

  • Snowparkの操作はサーバー上で遅延実行されるため、クライアントとSnowflakeデータベース間で転送されるデータの量が削減されます。

    Snowparkのコア抽象化は DataFrame です。これはデータのセットを表し、そのデータを操作するためのメソッドを提供します。クライアントコードでは、オブジェクトを作成し、 DataFrame 使用するデータ(たとえば、データを含む列、行に適用するフィルターなど)を取得するように設定します。

    DataFrame オブジェクトを作成するときには、データは取得されません。代わりに、データを取得する準備ができたら、 DataFrame オブジェクトを評価し、対応する SQL ステートメントをSnowflakeデータベースに送信して実行するアクションを実行できます。

  • コード内にユーザー定義関数(UDFs)を作成でき、Snowparkはコードをサーバーにプッシュできます。サーバーでは、コードがデータを操作できます。

    クライアントコードの記述に使用するのと同じ言語で関数を記述できます(たとえば、Scalaで無名関数を使用することにより)。これらの関数を使用してSnowflakeデータベースのデータを処理するには、カスタムコードでユーザー定義関数(UDFs)を定義して呼び出します。

    Snowparkは、 UDFs のカスタムコードをSnowflakeデータベースに自動的にプッシュします。クライアントコードで UDF を呼び出すと、カスタムコードがサーバー(データのある場所)で実行されます。データに対して関数を実行するために、データをクライアントに転送する必要はありません。

次のトピック: