Apache Spark 向け Serverless を使用すると、独自の Dataproc クラスタのプロビジョニングや管理を行うことなく、Spark ワークロードを実行できます。Apache Spark 用サーバーレス ワークロードを実行するには、次の 2 つの方法があります。
バッチ ワークロード
Google Cloud コンソール、Google Cloud CLI、または Dataproc API を使用して、Serverless for Apache Spark サービスにバッチ ワークロードを送信します。このサービスは、マネージド コンピューティング インフラストラクチャでワークロードを実行し、必要に応じてリソースを自動スケーリングします。Apache Spark 向けサーバーレスの料金は、ワークロードが実行されている時間に対してのみ適用されます。
開始するには、Apache Spark バッチ ワークロードを実行するをご覧ください。
インタラクティブ セッション
Serverless for Apache Spark for Spark インタラクティブ セッションでは、Jupyter ノートブックでコードを記述、実行します。ノートブック セッションは次の方法で作成できます。
BigQuery Studio ノートブックで PySpark コードを実行する。BigQuery Python ノートブックを使用して、Spark-Connect ベースの Serverless for Apache Spark インタラクティブ セッションを作成します。各 BigQuery ノートブックには、アクティブな Serverless for Apache Spark セッションを 1 つだけ関連付けることができます。
Dataproc JupyterLab プラグインを使用すると、作成および管理するテンプレートから複数の Jupyter ノートブック セッションを作成できます。ローカルマシンまたは Compute Engine VM にプラグインをインストールすると、さまざまな Spark カーネル構成に対応するさまざまなカードが JupyterLab ランチャー ページに表示されます。カードをクリックして Serverless for Apache Spark ノートブック セッションを作成し、ノートブックでコードの記述とテストを開始します。
Dataproc JupyterLab プラグインを使用すると、JupyterLab ランチャー ページで次の操作を行うこともできます。
- Dataproc on Compute Engine クラスタを作成する。
- Dataproc on Compute Engine クラスタにジョブを送信する。
- Google Cloud と Spark のログを表示する。
Apache Spark 用サーバーレスと Compute Engine 上の Dataproc の比較
インフラストラクチャをプロビジョニングして管理し、Spark や他のオープンソース処理フレームワークでワークロードを実行する場合は、Compute Engine 上の Dataproc を使用します。次の表に、Compute Engine 上の Dataproc と Apache Spark 用サーバーレスの主な違いを示します。
能力 | Apache Spark 用サーバーレス | Compute Engine 上の Dataproc |
---|---|---|
処理フレームワーク | バッチ ワークロード: Spark 3.5 以前のバージョン インタラクティブ セッション: Spark 3.5 以前のバージョン |
Spark 3.5 以前のバージョン。その他のオープンソース フレームワーク(Hive、Flink、Trino、Kafka など) |
サーバーレス | ○ | × |
スタートアップ時間 | 60s | 90s |
インフラストラクチャの制御 | × | ○ |
リソース管理 | Spark ベース | YARN ベース |
GPU のサポート | はい | ○ |
インタラクティブ セッション | ○ | × |
カスタム コンテナ | はい | × |
VM アクセス(SSH など) | × | ○ |
Java のバージョン | Java 17、11 | サポートされている以前のバージョン |
セキュリティ コンプライアンス
Apache Spark 向け Serverless は、Dataproc が準拠しているすべてのデータ所在地、CMEK、VPC-SC、その他のセキュリティ要件に準拠しています。
バッチ ワークロードの機能
次の Apache Spark バッチ ワークロード タイプのサーバーレスを実行できます。
- PySpark
- Spark SQL
- Spark R
- Spark(Java または Scala)
Serverless for Apache Spark バッチ ワークロードを送信するときに、Spark プロパティを指定できます。