Managed Service for Apache Spark WorkflowTemplates API מספק מנגנון גמיש וקל לשימוש לניהול ולהרצה של תהליכי עבודה. תבנית של תהליך עבודה היא הגדרה של תהליך עבודה שאפשר להשתמש בה שוב. הוא מגדיר גרף של משימות עם מידע על המקומות שבהם המשימות האלה יופעלו.
נקודות מרכזיות:
- יצירת אובייקט של תבנית בתהליך עבודה מפעילה תהליך עבודה. Workflow הוא פעולה שמריצה גרף אציקלי מכוון (DAG) של משימות באשכול.
- אם בתהליך העבודה נעשה שימוש באשכול מנוהל, האשכול נוצר, המשימות מופעלות ואז האשכול נמחק כשהמשימות מסתיימות.
- אם בתהליך העבודה נעשה שימוש בבורר אשכולות, המערכת מריצה את העבודות באשכול קיים שנבחר.
- תהליכי עבודה מתאימים במיוחד לתהליכי עבודה מורכבים. אתם יכולים ליצור תלות בין משימות כך שמשימה תתחיל רק אחרי שהתלות שלה תושלם בהצלחה.
- כשיוצרים תבנית של תהליך עבודה, Managed Service for Apache Spark לא יוצר אשכול ולא שולח משימות לאשכול. Managed Service for Apache Spark יוצר או בוחר אשכול ומריץ משימות של תהליכי עבודה באשכול כשיוצרים מופע של תבנית תהליך עבודה.
סוגים של תבניות תהליך עבודה
אשכול מנוהל
תבנית של תהליך עבודה יכולה לציין אשכול מנוהל. תהליך העבודה ייצור אשכול 'זמני' כדי להריץ משימות של תהליך העבודה, ואז ימחק את האשכול כשתהליך העבודה יסתיים.
בורר אשכולות
בתבנית של תהליך עבודה אפשר לציין קלאסטר קיים להרצת משימות של תהליך העבודה, על ידי ציון של תוויות משתמש אחת או יותר שצורפו לקלאסטר בעבר. תהליך העבודה יפעל באשכול שתואם לכל התוויות. אם כמה אשכולות תואמים לכל התוויות, Managed Service for Apache Spark בוחר את האשכול עם הכי הרבה זיכרון YARN זמין כדי להריץ את כל משימות תהליך העבודה. בסוף תהליך העבודה, Managed Service for Apache Spark לא מוחק את האשכול שנבחר. מידע נוסף זמין במאמר בנושא שימוש בכלי לבחירת אשכולות בתהליכי עבודה.
עם פרמטרים
אם אתם מתכוונים להפעיל תבנית של תהליך עבודה כמה פעמים עם ערכים שונים, כדאי להשתמש בפרמטרים כדי להימנע מעריכה של תבנית תהליך העבודה בכל הפעלה:
מגדירים פרמטרים בתבנית, ואז
להעביר ערכים שונים לפרמטרים בכל הפעלה.
מידע נוסף זמין במאמר בנושא הגדרת פרמטרים בתבניות של זרימות עבודה.
בתוך השורה
אפשר ליצור מופעים של תהליכי עבודה בשורה באמצעות הפקודה gcloud עם קבצי YAML של תבניות תהליכי עבודה, או באמצעות קריאה ל-API של Managed Service for Apache Spark InstantiateInline (ראו שימוש בתהליכי עבודה מוטבעים של Dataproc).
תהליכי עבודה מוטבעים לא יוצרים או משנים משאבי תבניות של תהליכי עבודה.
תרחישים לדוגמה לשימוש בתבניות של תהליכי עבודה
אוטומציה של משימות שחוזרות על עצמן. תהליכי עבודה כוללים הגדרות ומשימות של אשכולות שמשמשים לעיתים קרובות.
מודל אינטראקציה של 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 לכל תבנית, והן לא תלויות בהרשאות של אשכולות או משימות.