Apache Spark 用サーバーレスでは、API 割り当てにプロジェクトとリージョンのレベルで上限が設定されています。割り当ては 60 秒(1 分)ごとにリセットされます。
次の表に、プロジェクトあたりの固有およびデフォルトの 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 の割り当て
Apache Spark 用サーバーレス バッチは、他の Google Cloud プロダクトを利用します。これらのプロダクトにはプロジェクト レベルの割り当てがあり、これには Apache Spark 用サーバーレスの使用に適用される割り当てが含まれます。Serverless for Apache Spark を使用するには、Compute Engine や Cloud Storage などの一部のサービスが必須です。他のサービス(BigQuery や Bigtable など)は、必要に応じて Apache Spark 用 Serverless で使用できます。
必須サービス
割り当て上限が適用される次のサービスは、Apache Spark 用サーバーレス バッチの作成に必要です。
Compute Engine
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
Apache Spark 向けサーバーレスは、バッチ出力とログを Cloud Logging に保存します。Cloud Logging の割り当ては、Apache Spark 用 Serverless バッチに適用されます。
オプション サービス
Apache Spark 用サーバーレス バッチでは、割り当て上限がある次のサービスをオプションで使用できます。
BigQuery
BigQuery に対してデータを読み書きする場合、BigQuery の割り当てが適用されます。
Bigtable
Bigtable に対してデータを読み書きする場合、Bigtable の割り当てが適用されます。
割り当てまたは IP アドレスの制限があるワークロードを特定する
次の Cloud Logging クエリを使用すると、割り当てに達したか、IP アドレスの枯渇によりスケーリングできなかった Apache Spark ワークロード用のサーバーレスを特定できます。
割り当てクエリ:
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.*"