WorkflowTemplates API של Managed Service for Apache Spark מספק מנגנון גמיש וקל לשימוש לניהול ולהפעלה של תהליכי עבודה. תבנית של תהליך עבודה היא הגדרה של תהליך עבודה לשימוש חוזר. הוא מגדיר תרשים של משימות עם מידע על המקום שבו צריך להריץ את המשימות האלה.
נקודות עיקריות:
- יצירת מופע של תבנית של תהליך עבודה מפעילה תהליך עבודה. תהליך עבודה הוא פעולה שמריצה גרף אציקלי מכוון (DAG) של משימות באשכול.
- אם תהליך העבודה משתמש באשכול מנוהל, הוא יוצר את האשכול, מריץ את המשימות ומוחק את האשכול כשהמשימות מסתיימות.
- אם תהליך העבודה משתמש בבורר אשכולות, הוא מריץ משימות באשכול קיים שנבחר.
- Workflows מתאים במיוחד לתהליכי עבודה מורכבים. אתם יכולים ליצור יחסי תלות בין משימות, כך שמשימה תתחיל רק אחרי שהמשימות שהיא תלויה בהן יסתיימו בהצלחה.
- כשיוצרים תבנית של תהליך עבודה, Managed Service for Apache Spark לא יוצר אשכול ולא שולח משימות לאשכול. כשיוצרים מופע של תבנית של תהליך עבודה, Managed Service for Apache Spark יוצר או בוחר אשכול ומריץ בו משימות של תהליך עבודה.
סוגים של תבניות לתהליכי עבודה
אשכול מנוהל
בתבנית של תהליך עבודה אפשר לציין אשכול מנוהל. תהליך העבודה ייצור אשכול "זמני" להרצת משימות של תהליך העבודה, ואז ימחק את האשכול כשתהליך העבודה יסתיים.
בורר האשכולות
בתבנית של תהליך עבודה אפשר לציין אשכול קיים שעליו יופעלו משימות של תהליך העבודה, על ידי ציון של תווית משתמש אחת או יותר שצורפו בעבר לאשכול. תהליך העבודה יפעל באשכול שתואם לכל התוויות. אם יש כמה אשכולות שמתאימים לכל התוויות, השירות Managed Service for Apache Spark בוחר את האשכול עם הכי הרבה זיכרון זמין ב-YARN כדי להריץ את כל המשימות בתהליך העבודה. בסוף תהליך העבודה, Managed Service for Apache Spark לא מוחק את האשכול שנבחר. מידע נוסף זמין במאמר שימוש בבוררי אשכולות עם תהליכי עבודה.
עם פרמטרים
אם אתם מתכוונים להריץ תבנית של תהליך עבודה כמה פעמים עם ערכים שונים, השתמשו בפרמטרים כדי להימנע מעריכה של תבנית תהליך העבודה בכל הרצה:
מגדירים פרמטרים בתבנית, ואז
להעביר ערכים שונים לפרמטרים בכל הפעלה.
למידע נוסף, ראו הגדרת פרמטרים של תבניות של תהליכי עבודה.
בתוך השורה
אפשר ליצור מופע של תהליכי עבודה בתוך השורה באמצעות הפקודה gcloud עם קובצי YAML של תבניות לתהליכי עבודה, או באמצעות קריאה ל-API InstantiateInline של Managed Service for Apache Spark (מידע נוסף זמין במאמר שימוש בתהליכי עבודה מוטבעים של Dataproc).
תהליכי עבודה מוטבעים לא יוצרים או משנים משאבים של תבניות של תהליכי עבודה.
תרחישים לדוגמה לשימוש בתבניות של תהליכי עבודה
אוטומציה של משימות שחוזרות על עצמן. תהליכי עבודה כוללים הגדרות של אשכולות ומשימות שמשתמשים בהן לעיתים קרובות.
מודל אינטראקציה של Transactional API מסוג fire-and-forget. תבניות של תהליכי עבודה מחליפות את השלבים בתהליך רגיל, שכולל:
- יצירת האשכול
- שליחת משימות
- דגימה
- מחיקת האשכול
בתבניות של תהליכי עבודה נעשה שימוש בטוקן יחיד כדי לעקוב אחרי ההתקדמות מיצירת האשכול ועד למחיקה שלו, וכדי להפוך את הטיפול בשגיאות ובשחזור לאוטומטי. הם גם מפשטים את השילוב של Managed Service for Apache Spark עם כלים אחרים, כמו פונקציות Cloud Run ו-Managed Service for Apache Airflow.
תמיכה באשכולות זמניים ובאשכולות לטווח ארוך. אחד האתגרים הנפוצים בהפעלת Apache Hadoop הוא כוונון והתאמה של גודל האשכולות. קל יותר להגדיר אשכולות זמניים (מנוהלים) כי הם מריצים עומס עבודה יחיד. אפשר להשתמש בבוררי אשכולות עם אשכולות לטווח ארוך יותר כדי להריץ שוב ושוב את אותו עומס עבודה, בלי לשלם את העלות המופחתת של יצירה ומחיקה של אשכולות.
אבטחת IAM פרטנית. כדי ליצור אשכולות ב-Managed Service for Apache Spark ולשלוח משימות, צריך הרשאות IAM מסוג "הכול או כלום". בתבניות של תהליכי עבודה נעשה שימוש בהרשאה workflowTemplates.instantiate לכל תבנית, והן לא תלויות בהרשאות של אשכולות או של משימות.