Google Cloud Apache Spark 向け Serverless を使用すると、独自の Dataproc クラスタのプロビジョニングと管理を行うことなく、Spark ワークロードを実行できます。Apache Spark 向け Serverless ワークロードを実行するには、次の 2 つの方法があります。
バッチ ワークロード
Google Cloud コンソール、Google Cloud CLI、または Dataproc API を使用して、Apache Spark 向け Serverless サービスにバッチ ワークロードを送信します。このサービスは、マネージド コンピューティング インフラストラクチャでワークロードを実行し、必要に応じてリソースを自動スケーリングします。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 ランチャー ページに表示されます。カードをクリックして Apache Spark 用 Serverless ノートブック セッションを作成し、ノートブックでコードの記述とテストを開始します。
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 向け Serverless | 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 向け Serverless バッチ ワークロード タイプを実行できます。
- PySpark
- Spark SQL
- Spark R
- Spark(Java または Scala)
Apache Spark 用サーバーレス バッチ ワークロードを送信するときに、Spark プロパティを指定できます。