כדי להגדיר ולהפעיל תהליך עבודה:
- יצירת תבנית של תהליך עבודה
- הגדרת אשכול מנוהל (זמני) או בחירה של אשכול קיים
- הוספת משרות
- יצירת מופע של התבנית כדי להריץ את תהליך העבודה
יצירת תבנית
CLI של gcloud
מריצים את הפקודה command הבאה כדי ליצור משאב של תבנית לתהליך עבודה ב-Dataproc.
gcloud dataproc workflow-templates create TEMPLATE_ID \ --region=REGION
הערות:
- REGION: מציינים את האזור שבו התבנית תפעל.
- TEMPLATE_ID: מציינים מזהה לתבנית, למשל workflow-template-1.
- הצפנה באמצעות CMEK. אתם יכולים להוסיף את הדגל --kms-key כדי להשתמש בהצפנת CMEK בארגומנטים של משימות בתבנית של זרימת עבודה.
API ל-REST
שולחים WorkflowTemplate כחלק מבקשת workflowTemplates.create. אתם יכולים להוסיף את השדה WorkflowTemplate.EncryptionConfig.kmsKey כדי להשתמש בהצפנת CMEK בארגומנטים של משימות בתבנית של זרימת עבודה. kmsKey
המסוף
אפשר לראות תבניות קיימות של תהליכי עבודה ותהליכי עבודה שנוצרו בדף Workflows של Dataproc ב- Google Cloud console.
הגדרה או בחירה של אשכול
Dataproc יכול ליצור ולהשתמש באשכול חדש ומנוהל עבור זרימת העבודה שלכם, או באשכול קיים.
אשכול קיים: במאמר בנושא שימוש בכלי לבחירת אשכולות בתהליכי עבודה מוסבר איך לבחור אשכול קיים לתהליך העבודה.
אשכול מנוהל: צריך להגדיר אשכול מנוהל כדי להשתמש בתהליך העבודה. Dataproc ייצור את האשכול החדש הזה כדי להריץ משימות של תהליכי עבודה, ואז ימחק את האשכול בסוף תהליך העבודה.
אפשר להגדיר אשכול מנוהל לתהליך העבודה באמצעות כלי שורת הפקודה
gcloudאו Dataproc API.Google Cloud CLI
משתמשים בדגלים שעוברים בירושה מ-gcloud dataproc cluster create כדי להגדיר את האשכול המנוהל, כמו מספר העובדים וסוג המכונה של המאסטר והעובד. Dataproc יוסיף סיומת לשם האשכול כדי להבטיח שהוא יהיה ייחודי. אתם יכולים להשתמש בדגל
--service-accountכדי לציין חשבון שירות של מכונה וירטואלית עבור האשכול המנוהל.gcloud dataproc workflow-templates set-managed-cluster TEMPLATE_ID \ --region=REGION \ --master-machine-type=MACHINE_TYPE \ --worker-machine-type=MACHINE_TYPE \ --num-workers=NUMBER \ --cluster-name=CLUSTER_NAME --service-account=SERVICE_ACCOUNT
API ל-REST
אפשר לעיין ב-WorkflowTemplatePlacement.ManagedCluster, שאפשר לספק כחלק מ-WorkflowTemplate שהושלם ונשלח באמצעות בקשת workflowTemplates.create או workflowTemplates.update.
אתם יכולים להשתמש בשדה
GceClusterConfig.serviceAccountכדי לציין חשבון שירות של מכונה וירטואלית עבור האשכול המנוהל.המסוף
אפשר לראות את תבניות תהליכי העבודה הקיימות ואת תהליכי העבודה שיצרתם בדף Workflows של Dataproc ב- Google Cloud console.
הוספת משרות לתבנית
כל המשימות מורצות בו-זמנית, אלא אם מציינים תלות של משימה אחת או יותר. התלות של משימה מוגדרת כרשימה של משימות אחרות שצריכות להסתיים בהצלחה לפני שהמשימה הסופית יכולה להתחיל. צריך לספק step-id
לכל משרה. המזהה חייב להיות ייחודי בתהליך העבודה, אבל לא חייב להיות ייחודי באופן גלובלי.
CLI של gcloud
משתמשים בסוג העבודה ובדגלים שמועברים בירושה מ-gcloud dataproc jobs submit כדי להגדיר את המשימה שרוצים להוסיף לתבנית. אפשר להשתמש באפשרות ‑‑start-after job-id of another workflow job כדי שהמשימה תתחיל אחרי השלמה של משימה אחת או יותר בתהליך העבודה.
לדוגמה:
הוספת עבודת Hadoop foo לתבנית my-workflow.
gcloud dataproc workflow-templates add-job hadoop \ --region=REGION \ --step-id=foo \ --workflow-template=my-workflow \ -- space separated job args
מוסיפים את המשימה bar לתבנית my-workflow, שתופעל אחרי שהמשימה foo בתהליך העבודה תסתיים בהצלחה.
gcloud dataproc workflow-templates add-job JOB_TYPE \ --region=REGION \ --step-id=bar \ --start-after=foo \ --workflow-template=my-workflow \ -- space separated job args
מוסיפים עוד משימה, baz, לתבנית my-workflow, שתופעל אחרי ששתי המשימות foo ו-bar יסתיימו בהצלחה.
gcloud dataproc workflow-templates add-job JOB_TYPE \ --region=REGION \ --step-id=baz \ --start-after=foo,bar \ --workflow-template=my-workflow \ -- space separated job args
API ל-REST
ראו WorkflowTemplate.OrderedJob. השדה הזה מסופק כחלק מWorkflowTemplate שהושלם ונשלח עם בקשת workflowTemplates.create או workflowTemplates.update.
המסוף
אפשר לראות את תבניות תהליכי העבודה הקיימות ואת תהליכי העבודה שיצרתם בדף Workflows של Dataproc ב- Google Cloud console.
הפעלת תהליך עבודה
יצירת אובייקט של תבנית בתהליך עבודה מפעילה את תהליך העבודה שמוגדר בתבנית. יש תמיכה בכמה מקרים של יצירת מופע של תבנית – אפשר להריץ תהליך עבודה כמה פעמים.
פקודת gcloud
gcloud dataproc workflow-templates instantiate TEMPLATE_ID \ --region=REGION
הפקודה מחזירה מזהה פעולה, שאפשר להשתמש בו כדי לעקוב אחרי סטטוס תהליך העבודה.
דוגמה לפקודה ולפלט:gcloud beta dataproc workflow-templates instantiate my-template-id \ --region=us-central1 ... WorkflowTemplate [my-template-id] RUNNING ... Created cluster: my-template-id-rg544az7mpbfa. Job ID teragen-rg544az7mpbfa RUNNING Job ID teragen-rg544az7mpbfa COMPLETED Job ID terasort-rg544az7mpbfa RUNNING Job ID terasort-rg544az7mpbfa COMPLETED Job ID teravalidate-rg544az7mpbfa RUNNING Job ID teravalidate-rg544az7mpbfa COMPLETED ... Deleted cluster: my-template-id-rg544az7mpbfa. WorkflowTemplate [my-template-id] DONE
API ל-REST
מידע נוסף זמין במאמר בנושא workflowTemplates.instantiate.המסוף
אפשר לראות את תבניות תהליכי העבודה הקיימות ואת תהליכי העבודה שיצרתם בדף Workflows של Dataproc ב- Google Cloud console.
כשלים בעבודות של תהליכי עבודה
אם תהליך העבודה כולל כמה משימות, והפעולה של אחת מהן נכשלת, תהליך העבודה כולו ייכשל. Dataproc ינסה לצמצם את ההשפעה של הכשלים על ידי כך שכל המשימות שפועלות בו-זמנית ייכשלו, וימנע את ההתחלה של משימות עוקבות.
מעקב אחר תהליך עבודה ורישום שלו
CLI של gcloud
כדי לעקוב אחרי תהליך עבודה:
gcloud dataproc operations describe OPERATION_ID \ --region=REGION
הערה: מזהה הפעולה מוחזר כשמפעילים את תהליך העבודה באמצעות gcloud dataproc workflow-templates instantiate (ראו הפעלת תהליך עבודה).
כדי להציג את הסטטוס של תהליך העבודה:
gcloud dataproc operations list \ --region=REGION \ --filter="labels.goog-dataproc-operation-type=WORKFLOW AND status.state=RUNNING"
API ל-REST
כדי לעקוב אחרי תהליך עבודה, משתמשים ב-API operations.get של Dataproc.
כדי להציג רשימה של תהליכי עבודה פעילים, משתמשים ב-Dataproc operations.list API עם מסנן תוויות.
המסוף
אפשר לראות את תבניות תהליכי העבודה הקיימות ואת תהליכי העבודה שיצרתם בדף Workflows של Dataproc ב- Google Cloud console.
הפסקת תהליך עבודה
אפשר להפסיק את זרימת העבודה באמצעות Google Cloud CLI או על ידי קריאה ל-Dataproc API.
פקודת gcloud
gcloud dataproc operations cancel OPERATION_ID \ --region=REGION
gcloud dataproc workflow-templates instantiate (ראו הרצת תהליך עבודה).
API ל-REST
מידע נוסף זמין במאמר בנושא operations.cancel API.
המסוף
אפשר לראות את תבניות תהליכי העבודה הקיימות ואת תהליכי העבודה שיצרתם בדף Workflows של Dataproc ב- Google Cloud console.
עדכון של תבנית של תהליך עבודה
העדכונים לא משפיעים על תהליכי עבודה פעילים. גרסת התבנית החדשה תחול רק על תהליכי עבודה חדשים.
CLI של gcloud
אפשר לעדכן תבניות של תהליכי עבודה על ידי הפעלת פקודות gcloud workflow-templates חדשות שמפנות למזהה של תבנית קיימת של תהליך עבודה:
API ל-REST
כדי לעדכן תבנית באמצעות API בארכיטקטורת REST:
- קוראים ל-workflowTemplates.get, שמחזירה את התבנית הנוכחית עם השדה
versionשמולא בגרסת השרת הנוכחית. - מבצעים עדכונים בתבנית שאוחזרה.
- קוראים ל-workflowTemplates.update עם התבנית המעודכנת.
המסוף
אפשר לראות את תבניות תהליכי העבודה הקיימות ואת תהליכי העבודה שיצרתם בדף Workflows של Dataproc ב- Google Cloud console.
מחיקה של תבנית לתהליך עבודה
CLI של gcloud
gcloud dataproc workflow-templates delete TEMPLATE_ID \ --region=REGION
הערה: מזהה הפעולה שמוחזר כשמפעילים את תהליך העבודה באמצעות gcloud dataproc workflow-templates instantiate (ראו הפעלת תהליך עבודה).
API ל-REST
ראו workflowTemplates.delete.המסוף
אפשר לראות את תבניות תהליכי העבודה הקיימות ואת תהליכי העבודה שיצרתם בדף Workflows של Dataproc ב- Google Cloud console.