Serverless for Apache Spark の概要

Apache Spark 向け Serverless を使用すると、独自の Dataproc クラスタのプロビジョニングや管理を行うことなく、Spark ワークロードを実行できます。Apache Spark 用サーバーレス ワークロードを実行するには、次の 2 つの方法があります。

バッチ ワークロード

Google Cloud コンソール、Google Cloud CLI、または Dataproc API を使用して、Serverless for Apache Spark サービスにバッチ ワークロードを送信します。このサービスは、マネージド コンピューティング インフラストラクチャでワークロードを実行し、必要に応じてリソースを自動スケーリングします。Apache Spark 向け Serverless の料金は、ワークロードが実行されている時間に対してのみ適用されます。

開始するには、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 が準拠しているすべてのデータ所在地CMEKVPC-SC、その他のセキュリティ要件に準拠しています。

バッチ ワークロードの機能

次の Serverless for Apache Spark バッチ ワークロード タイプを実行できます。

  • PySpark
  • Spark SQL
  • Spark R
  • Spark(Java または Scala)

Serverless for Apache Spark バッチ ワークロードを送信するときに、Spark プロパティを指定できます。