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 | 7500 | GetBatch、ListBatches、GetSession、ListSessions |
| ActiveOperationsPerProjectPerRegion | 5000 | リージョン内のプロジェクトにある、あらゆるタイプの同時実行アクティブ オペレーションを合計した数の上限。 |
その他の 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 リソース割り当てを使用します。
| コンピューティング階層 | 割り当て |
|---|---|
| スタンダード | CPUS |
| プレミアム | N2_CPUS |
| ディスク階層 | 割り当て |
| スタンダード | DISKS_TOTAL_GB |
| プレミアム | N2 VM ファミリーを伴う LOCAL_SSD_TOTAL_GB_PER_VM_FAMILY |
| 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 |
| 永続ディスク | 1200 GiB |
Cloud Logging
Managed Service for Apache Spark は、バッチ出力とログを Cloud Loggingに保存します。Cloud Logging の割り当ては、Managed Service for Apache Spark バッチに適用されます。
オプション サービス
Managed Service for Apache Spark バッチでは、割り当て上限がある次のサービスをオプションで使用できます。
BigQuery
BigQuery に対してデータを読み書きする場合、BigQuery の割り当てが適用されます。
Bigtable
Bigtable に対してデータを読み書きする場合、 Bigtable の割り当てが適用されます。
割り当てまたは IP アドレスの制限があるワークロードを特定する
次の Cloud Logging クエリを使用すると、割り当てに達した Managed Service for Apache Spark ワークロードや、IP アドレスの枯渇によりスケーリングできなかったワークロードを特定できます。
割り当てクエリ:
jsonPayload.@type="type.googleapis.com/google.cloud.dataproc.logging.AutoscalerLog"
jsonPayload.recommendation.outputs.constraintsReached="SCALING_CAPPED_DUE_TO_LACK_OF_QUOTA"
IP アドレスの枯渇クエリ:
jsonPayload.@type="type.googleapis.com/google.cloud.dataproc.logging.AutoscalerLog"
jsonPayload.status.details =~".*Insufficient free IP addresses.*"