Snowpark Connect for Spark を使用してSnowflakeでSparkワークロードを実行します。

|spconnect|で、既存のSparkワークロードをSnowflakeに直接接続し、Snowflakeコンピューティングエンジン上で実行できます。|spconnect| は、Snowflake上で `Spark DataFrameAPI<https://spark.apache.org/docs/latest/sql-programming-guide.html>`_ を使用することをサポートします。すべてのワークロードはSnowflakeウェアハウスで実行されます。その結果、Snowflakeエンジンのすべての利点を備えた PySpark データフレームコードを実行できます。

Apache Spark™ バージョン3.4で、Apache SparkコミュニティはSpark Connectを導入しました。切り離されたクライアントサーバーアーキテクチャは、作業が実行されるSparkクラスターからユーザーのコードを分離します。この新しいアーキテクチャにより、SnowflakeはSparkジョブを強化することができます。

なじみのあるクライアントツールを使用した開発 ができます。

Snowpark Connect for Spark には次のようなメリットがあります。

  • クライアント とサーバーを切り離すことで、Sparkクラスターを管理することなく、SparkコードをSnowflakeコンピュートエンジンに対してリモートで実行することができます。

  • チームが既存のエコシステムを使用してSparkワークロードを作成およびオーケストレートできるようにします。たとえば、Jupyterノートブック、 VS コード、および Airflow。

  • オープンソースのSparkデータフレームとSpark SQL コードを最小限の移行や変更で再利用できるようにします。

  • Snowflakeへのプッシュダウンを最適化し、使い慣れた PySpark 体験をサポートしながら、Snowflakeのガバナンス、セキュリティ、およびスケーラビリティをSparkベースのワークフローに統合する合理化された方法を提供します。

  • PySpark およびSpark SQL を含むいくつかの言語のいずれかを使用できます。

Snowpark Connect for Spark 入門

Snowpark Connect for Spark を開始するには、以下のステップを実行します:

  1. Snowflakeで実行するSparkワークロードの開発に使用する クライアントツールを設定 します。

    たとえば、 Snowflake Notebooks または :doc:`別のツール </developer-guide/snowpark-connect/snowpark-connect-workloads-jupyter>`を使用できます。

  2. Snowpark Submit を使用してSparkワークロードを非同期で実行します。

    詳細については、 Sparkバッチワークロードを Snowpark Submit から実行する をご参照ください。

  3. Sparkの詳細のため |spconnect|サポートについて理解します。

    詳細については、 Snowpark Connect for Spark 互換ガイド をご参照ください。

Snowflake上でSparkワークロードを開発し、実行する

使い慣れた開発ツールを使用して、Snowflakeで実行されるSparkワークロードを開発します。そして Snowpark Submit コマンドラインツールを使用すると、それらのワークロードをバッチで実行できます。

  • インタラクティブな開発にローカルツールを使用できます。

    Snowflake Notebooks:doc:` や </developer-guide/snowpark-connect/snowpark-connect-workloads-jupyter>`などのツールの使用で、Sparkワークロードを開発できます。Snowflakeで認証し、Sparkセッションを開始します。そしてデータをロード、変換、分析するための PySpark コードを実行できます。

  • 使い慣れたSparkセマンティクスを使用しながら、非インタラクティブで非同期のSparkワークロードをSnowflakeのインフラストラクチャ上で直接実行できます。

    |spsubmit|で、シンプルな CLI インターフェースを使用したり、Airflowなどのツールを使用したりして、実稼働用のSparkアプリケーションを送信できます。

    詳細については、 Sparkバッチワークロードを Snowpark Submit から実行する をご参照ください。