Snowpark Connect for Spark を使用してSnowflakeで Apache Spark™ ワークロードを実行する¶
Snowpark Connect for Apache Spark™ で、既存のSparkワークロードをSnowflakeに直接接続し、Snowflakeコンピューティングエンジン上で実行できます。Snowpark Connect for Spark は、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 を開始するには、以下のステップを実行します:
Snowflakeで実行するSparkワークロードの開発に使用する クライアントツールを設定 します。
たとえば、 Snowflake Notebooks または :doc:`別のツール </developer-guide/snowpark-connect/snowpark-connect-workloads-jupyter>`を使用できます。
Snowpark Submit を使用してSparkワークロードを非同期で実行します。
詳細については、 Sparkアプリケーションの送信 をご参照ください。
Sparkの詳細のため Snowpark Connect for Spark サポートについて理解します。
詳細については、 Snowpark Connect for Spark 互換ガイド をご参照ください。
Snowflake上でSparkワークロードを開発し、実行する¶
使い慣れた開発ツールを使用して、Snowflakeで実行されるSparkワークロードを開発します。そして Snowpark Submit コマンドラインツールを使用すると、それらのワークロードをバッチで実行できます。サポートされている開発クライアントとその使用方法の詳細については、:doc:`/developer-guide/snowpark-connect/snowpark-connect-clients`をご参照ください。
インタラクティブな開発には、Snowflake NotebooksやVS Codeなどのツールを使用してSparkワークロードを開発できます。Snowflakeで認証し、Sparkセッションを開始します。そしてデータをロード、変換、分析するための PySpark コードを実行できます。詳細については、 Snowpark Connect for Spark の開発クライアント をご参照ください。
非対話型バッチワークロードの場合、使い慣れたSparkセマンティクスを使用しながら、非同期のSparkワークロードをSnowflakeのインフラストラクチャ上で直接実行できます。|spsubmit|を使用すると、シンプルなCLIインターフェースやAirflowなどのツールを使用して、実稼働用のSparkアプリケーションを送信できます。詳細については、 Sparkアプリケーションの送信 をご参照ください。