ל-Serverless for Apache Spark יש מגבלות מכסה של API שנאכפות ברמת הפרויקט והאזור. המכסות מתאפסות כל שישים שניות (דקה אחת).
בטבלה הבאה מפורטים סוגי המכסות הספציפיות ומכסות ברירת המחדל לכל פרויקט ב-Serverless for Apache Spark API, מגבלות המכסות והשיטות שבהן הן חלות.
| סוג המכסה | הגבלה | שיטות API או תיאור |
|---|---|---|
| ClusterOperationRequestsPerMinutePerProjectPerRegion | 200 | CancelOperation (המיכסה לביטול פעולות אצווה משותפת עם המיכסה לביטול פעולות באשכול). |
| BatchOperationRequestsPerMinutePerProjectPerRegion | 200 | CreateBatch, DeleteBatch |
| SessionOperationRequestsPerMinutePerProjectPerRegion | 200 | CreateSession, DeleteSession, TerminateSession |
| DefaultRequestsPerMinutePerProjectPerRegion | 7500 | GetBatch, ListBatches, GetSession, ListSessions |
| ActiveOperationsPerProjectPerRegion | 5,000 | מגבלה על המספר הכולל של פעולות פעילות בו-זמנית מכל הסוגים בפרויקט באזור מסוים. |
מכסות אחרות Google Cloud
חבילות Serverless for Apache Spark משתמשות במוצרים אחרים Google Cloud . למוצרים האלה יש מכסות ברמת הפרויקט, כולל מכסות שחלות על השימוש ב-Serverless ל-Apache Spark. כדי להשתמש ב-Serverless for Apache Spark, צריך להפעיל שירותים מסוימים, כמו Compute Engine ו-Cloud Storage. אפשר להשתמש באופן אופציונלי בשירותים אחרים, כמו BigQuery ו-Bigtable, עם Serverless for Apache Spark.
שירותים נדרשים
כדי ליצור חבילות של Serverless for Apache Spark, צריך להשתמש בשירותים הבאים, שמוגדרות בהם מכסות:
Compute Engine
חבילות (batches) של Serverless for Apache Spark צורכות את המכסות הבאות של משאבי Compute Engine:
| רמת מחשוב | מכסה |
|---|---|
| רגילה | CPUS |
| פרימיום | N2_CPUS |
| רמת הדיסק | מכסה |
| רגילה | DISKS_TOTAL_GB |
| פרימיום | LOCAL_SSD_TOTAL_GB_PER_VM_FAMILY עם N2 VM Family |
| מאיץ GPU | מכסה |
| L4 | NVIDIA_L4_GPUS |
| A100 40GB | NVIDIA_A100_GPUS |
| A100 80GB | NVIDIA_A100_80GB_GPUS |
המיכסות של Compute Engine מחולקות למגבלות אזוריות ולמגבלות גלובליות. המגבלות האלה חלות על חבילות (batches) שאתם יוצרים. לדוגמה, כדי להריץ חבילת Spark עם 4 ליבות של מנהל התקנים (spark.driver.cores=4) ושני קבצים להרצת פקודות עם 4 ליבות כל אחד (spark.executor.cores=4), תצטרכו להשתמש ב-12 מעבדים וירטואליים (4 * 3). השימוש בחבילה הזו ייספר במכסת המעבדים הווירטואליים האזורית של 24 מעבדים וירטואליים.
משאבים שמוגדרים כברירת מחדל לעיבוד באצווה
כשיוצרים חבילת בקשות עם הגדרות ברירת מחדל, נעשה שימוש במשאבים הבאים של Compute Engine:
| פריט | משאבים בשימוש |
|---|---|
| מעבדים וירטואליים | 12 |
| מופעים של מכונות וירטואליות (VM) | 3 |
| דיסק אחסון מתמיד (persistent disk) | 1,200 GiB |
Cloud Logging
Serverless ל-Apache Spark שומר את הפלט ואת היומנים של אצווה ב-Cloud Logging. המיכסה של Cloud Logging חלה על אצוות של Serverless for Apache Spark.
Optional Services
אפשר להשתמש בשירותים הבאים, שיש להם מגבלות מכסה, עם חבילות (batches) של Serverless for Apache Spark.
BigQuery
כשקוראים נתונים מ-BigQuery או כותבים נתונים ל-BigQuery, חלות מכסות BigQuery.
Bigtable
כשקוראים נתונים מ-Bigtable או כותבים נתונים ל-Bigtable, חלה מכסת Bigtable.
זיהוי עומסי עבודה עם מגבלות של מכסת נפח או כתובת IP
אפשר להשתמש בשאילתות הבאות של Cloud Logging כדי לזהות עומסי עבודה של Serverless 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.*"