כדי להגדיר ולהפעיל תהליך עבודה:
- יצירת תבנית של תהליך עבודה
- הגדרת אשכול מנוהל (זמני) או בחירה של אשכול קיים
- הוספת משרות
- יצירת אובייקט של התבנית כדי להריץ את תהליך העבודה
יצירת תבנית
CLI של gcloud
מריצים את הפקודה command הבאה כדי ליצור משאב תבנית של תהליך עבודה ב-Managed Service for Apache Spark.
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 של Managed Service for Apache Spark במסוף Google Cloud .
הגדרה או בחירה של אשכול
Managed Service for Apache Spark יכול ליצור ולהשתמש באשכול חדש ומנוהל לתהליך העבודה שלכם, או באשכול קיים.
אשכול קיים: כדי לבחור אשכול קיים לתהליך העבודה, אפשר לעיין במאמר בנושא שימוש בכלי לבחירת אשכולות בתהליכי עבודה.
אשכול מנוהל: צריך להגדיר אשכול מנוהל לתהליך העבודה. Managed Service for Apache Spark ייצור את האשכול החדש הזה כדי להריץ משימות של תהליכי עבודה, ואז ימחק את האשכול בסוף תהליך העבודה.
אפשר להגדיר אשכול מנוהל לזרימת העבודה באמצעות כלי שורת הפקודה
gcloudאו Dataproc API.Google Cloud CLI
משתמשים בדגלים שעוברים בירושה מ-gcloud dataproc cluster create כדי להגדיר את האשכול המנוהל, כמו מספר העובדים וסוג המכונה של המאסטר והעובד. Managed Service for Apache Spark יוסיף סיומת לשם האשכול כדי לוודא שהוא ייחודי. אפשר להשתמש בדגל
--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 של Managed Service for Apache Spark במסוף Google Cloud .
הוספת משרות לתבנית
כל המשימות מורצות בו-זמנית, אלא אם מציינים תלות של משימה אחת או יותר. התלות של משימה מוגדרת כרשימה של משימות אחרות שצריכות להסתיים בהצלחה לפני שהמשימה הסופית יכולה להתחיל. צריך לספק 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 של Managed Service for Apache Spark במסוף Google Cloud .
הרצת תהליך עבודה
יצירת אובייקט של תבנית בתהליך עבודה מפעילה את תהליך העבודה שמוגדר בתבנית. יש תמיכה בכמה מופעים של תבנית – אפשר להריץ תהליך עבודה כמה פעמים.
פקודת 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 של Managed Service for Apache Spark במסוף Google Cloud .
כשלים בעבודות של תהליכי עבודה
אם תהליך העבודה כולל משימה שנכשלה, תהליך העבודה ייכשל. ב-Managed Service for Apache Spark, המערכת תנסה לצמצם את ההשפעה של כשלים על ידי גרימה לכשל בכל המשימות שמופעלות בו-זמנית, ומניעה של הפעלה של משימות עוקבות.
מעקב אחרי תהליך עבודה ורישום שלו
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 של Managed Service for Apache Spark.
כדי להציג רשימה של תהליכי עבודה פעילים, משתמשים ב-API של Managed Service for Apache Spark operations.list עם מסנן של תווית.
המסוף
אפשר לראות את תבניות זרימת העבודה הקיימות ואת זרימות העבודה שנוצרו בדף Workflows של Managed Service for Apache Spark במסוף Google Cloud .
הפסקת תהליך עבודה
אפשר להפסיק את זרימת העבודה באמצעות 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 של Managed Service for Apache Spark במסוף Google Cloud .
עדכון של תבנית לתהליך עבודה
העדכונים לא משפיעים על תהליכי עבודה פעילים. גרסת התבנית החדשה תחול רק על תהליכי עבודה חדשים.
CLI של gcloud
אפשר לעדכן תבניות של תהליכי עבודה על ידי הפעלת פקודות gcloud workflow-templates
חדשות שמפנות למזהה של תבנית קיימת של תהליך עבודה:
API בארכיטקטורת REST
כדי לעדכן תבנית באמצעות API בארכיטקטורת REST:
- קוראים ל-workflowTemplates.get, שמחזירה את התבנית הנוכחית עם השדה
versionשמולא בגרסת השרת הנוכחית. - מבצעים עדכונים בתבנית שאוחזרה.
- קוראים ל-workflowTemplates.update עם התבנית המעודכנת.
המסוף
אפשר לראות את תבניות זרימת העבודה הקיימות ואת זרימות העבודה שנוצרו בדף Workflows של Managed Service for Apache Spark במסוף Google Cloud .
מחיקה של תבנית לתהליך עבודה
CLI של gcloud
gcloud dataproc workflow-templates delete TEMPLATE_ID \ --region=REGION
הערה: מזהה הפעולה שמוחזר כשמפעילים את תהליך העבודה באמצעות gcloud dataproc workflow-templates instantiate (ראו הפעלת תהליך עבודה).
API בארכיטקטורת REST
workflowTemplates.deleteהמסוף
אפשר לראות את תבניות זרימת העבודה הקיימות ואת זרימות העבודה שנוצרו בדף Workflows של Managed Service for Apache Spark במסוף Google Cloud .