Managed Service for Apache Spark では、API 割り当てにプロジェクトとリージョンのレベルで上限が設定されています。割り当ては 60 秒(1 分)ごとにリセットされます。

次の表に、プロジェクトあたりの固有およびデフォルトの Managed Service for Apache Spark API 割り当てタイプ、割り当て上限、適用先のメソッドを示します。

割り当てのタイプ 上限 API のメソッドまたは説明
ClusterOperationRequestsPerMinutePerProjectPerRegion 200 CancelOperation(バッチ オペレーションの割り当てのキャンセルは、クラスタ オペレーションのキャンセルと共有セルされます)。
BatchOperationRequestsPerMinutePerProjectPerRegion 200 CreateBatch、DeleteBatch
SessionOperationRequestsPerMinutePerProjectPerRegion 200 CreateSession、DeleteSession、TerminateSession
DefaultRequestsPerMinutePerProjectPerRegion 7,500 GetBatch、ListBatches、GetSession、ListSessions
ActiveOperationsPerProjectPerRegion 5,000 リージョン内のプロジェクトにある、あらゆるタイプの同時実行アクティブ オペレーションを合計した数の上限。

Managed Service for Apache Spark サーバーレス DCU の割り当て

Managed Service for Apache Spark サーバーレス ランタイム バージョン 4.0 以降では、Compute Engine の割り当てではなく、プロジェクトのデータ コンピューティング ユニット(DCU)の割り当て(dataproc.googleapis.com/data_compute_units)によって、Managed Service for Apache Spark サーバーレス バッチ ワークロードとインタラクティブ セッションのコンピューティング リソースの使用量が管理および制限されます(基盤となる Compute Engine の割り当ての使用量は、専用の Managed Service for Apache Spark プロデューサー プロジェクトにリダイレクトされます)。

DCU 割り当ては、Compute Engine の Google Cloud コンソールの [割り当て] ページで確認して調整できます。割り当て調整を有効にすると、使用量が上限に近づいたときに DCU 割り当てを増やすことができます。

DCU の消費量を計算する

DCU の使用量は、Managed Service for Apache Spark サーバーレスの DCU 料金と同じ式を使用して、VM シェイプからノードごとに計算されます。

  • vCPU あたり 0.6 DCU。
  • メモリ 1 GB あたり 0.1 DCU(vCPU あたり最大 8 GB)。
  • vCPU あたり 8 GB を超えるメモリ(拡張メモリ)1 GB あたり 0.2 DCU。
  • プレミアム ティアのノードは、スタンダード ティアの同じシェイプの DCU の 1.5 倍としてカウントされます。

ノードプールの DCU は、最も近い整数に切り上げられます。

DCUs = ceiling(nodes × DCUs per node)

例: 4 個の vCPU と 16 GB のメモリを備えた標準ティアノードは、4 × 0.6 + 16 × 0.1 = 4 DCU を使用します。この形状の 1 つのドライバと 10 個のエグゼキュータを持つバッチは、44 個の DCU を使用します。プレミアム ティアの同じバッチでは 66 DCU が使用されます。

制限事項

DCU 割り当てには次の制限が適用されます。

  • ランタイム バージョン: DCU 割り当ては、Managed Service for Apache Spark サーバーレス ランタイム バージョン 4.0 以降に適用されます。4.0 より前のランタイム バージョンを使用するワークロードは、DCU 割り当てを消費せず、プロジェクトの Compute Engine 割り当てを引き続き消費します。
  • サポートされていない割り当て: GPU、予約、グローバル Compute Engine の割り当ては、DCU 割り当てモデルではサポートされていません。

その他の Google Cloud の割り当て

Managed Service for Apache Spark バッチは、他の Google Cloud プロダクトを使用します。これらのプロダクトにはプロジェクト レベルの割り当てがあり、これには Managed Service for Apache Spark の使用に適用される割り当てが含まれます。Managed Service for Apache Spark を使用するには、Compute Engine や Cloud Storage などの一部のサービスが必須です。他のサービス(BigQuery や Bigtable など)は、必要に応じて Managed Service for Apache Spark で使用できます。

必須サービス

割り当て上限が適用される次のサービスは、Managed Service for Apache Spark バッチの作成に必要です。

Compute Engine

Managed Service for Apache Spark バッチ ワークロードでは、さまざまな Compute Engine リソースを選択できます。

  • CPU とディスクの取得可能性の問題を軽減するため、Managed Service for Apache Spark は、複数のマシン ファミリーとディスクタイプにわたるフォールバックをサポートしています。たとえば、プレミアム ティアでは、バッチ ワークロードは、永続 SSD を使用する N2、ローカル SSD を使用する N2D、永続ディスクを使用する N2D、Hyperdisk Balanced を使用する N4、Hyperdisk Balanced を使用する N4D にフォールバックできます。

  • フォールバック選択リソースを消費するのに十分な割り当てがない場合、バッチ ワークロードは失敗します。

次の表に、Managed Service for Apache Spark バッチ ワークロードに適用される Compute Engine リソースの割り当てを示します。

コンピューティング階層 割り当て
スタンダード CPUS
プレミアム
  • N2_CPUS
  • N2D_CPUS
  • N4 VM ファミリーを伴う CPUS_PER_VM_FAMILY
  • N4D VM ファミリーを伴う CPUS_PER_VM_FAMILY
ディスク階層 割り当て
スタンダード DISKS_TOTAL_GB
プレミアム
  • DISKS_TOTAL_GB
  • N2 および N2D VM ファミリーを伴う LOCAL_SSD_TOTAL_GB_PER_VM_FAMILY
  • SSD-TOTAL-GB または Persistent Disk SSD (GB)
  • HDB-TOTAL-GB または Hyperdisk Balanced Capacity (GB)
GPU アクセラレータ 割り当て
L4 NVIDIA_L4_GPUS
A100 40GB NVIDIA_A100_GPUS
A100 80GB NVIDIA_A100_80GB_GPUS

Compute Engine の割り当ては、領域制限とグローバル制限に分けられます。これらの上限は、作成したバッチに適用されます。たとえば、4 つのドライバコア(spark.driver.cores=4)を持つ Spark バッチとそれぞれ 4 つのコア(spark.executor.cores=4)を持つ 2 つのエグゼキュータを実行するには、12 個の仮想 CPU(4 * 3)を使用します。このバッチの使用量は、リージョン割り当て上限である 24 個の仮想 CPU に対してカウントされます。

デフォルトのバッチ リソース

デフォルト設定でバッチを作成する場合、次の Compute Engine リソースが使用されます。

項目 使用されるリソース
仮想 CPU 12
仮想マシン(VM)インスタンス 3
永続ディスク 1,200 GiB

ロギング

Managed Service for Apache Spark は、バッチ出力とログを Cloud Logging に保存します。Logging の割り当ては、Managed Service for Apache Spark バッチに適用されます。

オプション サービス

Managed Service for Apache Spark バッチでは、割り当て上限がある次のサービスをオプションで使用できます。

BigQuery

BigQuery に対してデータを読み書きする場合、BigQuery の割り当てが適用されます。

Bigtable

Bigtable に対してデータを読み書きする場合、Bigtable の割り当てが適用されます。

割り当てまたは IP アドレスの制限があるワークロードを特定する

次の Logging クエリを使用すると、割り当てに達した Managed Service for Apache Spark ワークロードや、IP アドレスの枯渇によりスケーリングできなかったワークロードを特定できます。

割り当てクエリ:

jsonPayload.@type="type.googleapis.com/google.cloud.dataproc.logging.AutoscalerLog"