סקירה כללית של תבניות זרימת עבודה ב-Managed Service for Apache Spark

WorkflowTemplates API של Managed Service for Apache Spark מספק מנגנון גמיש וקל לשימוש לניהול ולהרצה של תהליכי עבודה. תבנית של תהליך עבודה היא הגדרה של תהליך עבודה שאפשר להשתמש בה שוב. הוא מגדיר גרף של משימות עם מידע על המקומות שבהם המשימות האלה יופעלו.

נקודות מרכזיות:

  • יצירת אובייקט של תבנית בתהליך עבודה מפעילה תהליך עבודה. תהליך עבודה הוא פעולה שמריצה גרף אציקלי מכוון (DAG) של משימות באשכול.
    • אם תהליך העבודה משתמש באשכול מנוהל, הוא יוצר את האשכול, מריץ את המשימות ואז מוחק את האשכול כשהמשימות מסתיימות.
    • אם בתהליך העבודה נעשה שימוש בבורר אשכולות, המערכת מריצה את העבודות באשכול קיים שנבחר.
  • תהליכי עבודה מתאימים במיוחד לתהליכי עבודה מורכבים. אתם יכולים ליצור תלות בין משימות כך שמשימה תתחיל רק אחרי שהתלות שלה תושלם בהצלחה.
  • כשיוצרים תבנית של תהליך עבודה, Managed Service for Apache Spark לא יוצר אשכול ולא שולח משימות לאשכול. ‫Managed Service for Apache Spark יוצר או בוחר אשכול ומריץ משימות של תהליכי עבודה באשכול כשיוצרים מופע של תבנית תהליך עבודה.

סוגים של תבניות של תהליכי עבודה

אשכול מנוהל

תבנית של תהליך עבודה יכולה לציין אשכול מנוהל. תהליך העבודה ייצור אשכול 'זמני' כדי להריץ משימות של תהליך העבודה, ואז ימחק את האשכול כשתהליך העבודה יסתיים.

בורר אשכולות

בתבנית של תהליך עבודה אפשר לציין אשכול קיים להרצת משימות של תהליך העבודה, על ידי ציון תוויות משתמש אחת או יותר שצורפו לאשכול בעבר. תהליך העבודה יפעל באשכול שתואם לכל התוויות. אם כמה אשכולות תואמים לכל התוויות, Managed Service for Apache Spark בוחר את האשכול עם הכי הרבה זיכרון זמין של YARN כדי להריץ את כל משימות תהליך העבודה. בסוף תהליך העבודה, שירות Managed Service for Apache Spark לא מוחק את האשכול שנבחר. מידע נוסף זמין במאמר בנושא שימוש בבוררי אשכולות בתהליכי עבודה.

עם פרמטרים

אם אתם מתכוונים להפעיל תבנית של תהליך עבודה כמה פעמים עם ערכים שונים, כדאי להשתמש בפרמטרים כדי להימנע מעריכה של תבנית תהליך העבודה בכל הפעלה:

  1. מגדירים פרמטרים בתבנית, ואז

  2. להעביר ערכים שונים לפרמטרים בכל הפעלה.

מידע נוסף זמין במאמר בנושא הגדרת פרמטרים בתבניות של תהליכי עבודה.

בתוך השורה

אפשר ליצור מופעים של Workflows בשורה באמצעות הפקודה gcloud עם קבצי YAML של תבניות תהליכי עבודה, או באמצעות קריאה ל-API של Managed Service for Apache Spark‏ InstantiateInline (ראו שימוש בתהליכי עבודה מוטבעים של Dataproc). תהליכי עבודה מוטבעים לא יוצרים או משנים משאבי תבניות של תהליכי עבודה.

תרחישים לדוגמה לשימוש בתבניות של תהליכי עבודה

  • אוטומציה של משימות שחוזרות על עצמן. תהליכי עבודה כוללים הגדרות ומשימות של אשכולות שמשמשים לעיתים קרובות.

  • מודל אינטראקציה של API מסוג fire-and-forget (שליחה ללא אישור קבלה) לעסקאות. תבניות של תהליכי עבודה מחליפות את השלבים שכלולים בתהליך רגיל, כולל:

    1. יצירת האשכול
    2. שליחת משרות
    3. דגימה
    4. מחיקת האשכול

    תבניות של תהליכי עבודה משתמשות באסימון יחיד כדי לעקוב אחרי ההתקדמות מיצירת האשכול ועד למחיקה, וכדי להפוך את הטיפול בשגיאות והשחזור לאוטומטיים. הם גם מפשטים את השילוב של Managed Service for Apache Spark עם כלים אחרים, כמו פונקציות Cloud Run ו-Managed Service for Apache Airflow.

  • תמיכה באשכולות זמניים ובאשכולות לטווח ארוך. מורכבות נפוצה שקשורה להפעלת Apache Hadoop היא כוונון ושינוי גודל של אשכולות. קל יותר להגדיר אשכולות זמניים (מנוהלים) כי הם מריצים עומס עבודה יחיד. אפשר להשתמש בבוררי אשכולות עם אשכולות לטווח ארוך כדי להריץ שוב ושוב את אותה עומס עבודה בלי לשלם את העלות המופחתת של יצירה ומחיקה של אשכולות.

  • אבטחת IAM ברמת גרנולריות גבוהה. כדי ליצור אשכולות של Managed Service for Apache Spark ולשלוח משימות, צריך הרשאות IAM שחלות על הכול או לא חלות בכלל. תבניות של תהליכי עבודה משתמשות בהרשאה workflowTemplates.instantiate לכל תבנית, והן לא תלויות בהרשאות של אשכולות או משימות.