סקירה כללית של תבניות בתהליך עבודה של Dataproc

‫Dataproc WorkflowTemplates API מספק מנגנון גמיש וקל לשימוש לניהול ולהרצה של תהליכי עבודה. תבנית של תהליך עבודה היא הגדרה של תהליך עבודה שאפשר להשתמש בה שוב. הוא מגדיר גרף של משימות עם מידע על המקומות שבהם אפשר להריץ את המשימות האלה.

נקודות עיקריות:

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

סוגים של תבניות זרימת עבודה

אשכול מנוהל

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

בורר אשכולות

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

פרמטרים

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

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

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

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

בתוך השורה

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

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

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

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

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

    תבניות של תהליכי עבודה משתמשות באסימון יחיד כדי לעקוב אחרי ההתקדמות מיצירת האשכול ועד למחיקה שלו, וכדי לבצע אוטומציה של טיפול בשגיאות ושחזור. הם גם מפשטים את השילוב של Dataproc עם כלים אחרים, כמו פונקציות Cloud Run ו-Cloud Composer.

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

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