אפשר להגדיר תבנית של תהליך עבודה בקובץ YAML, ואז ליצור מופע של התבנית כדי להריץ את תהליך העבודה. אפשר גם לייבא ולייצא קובץ YAML של תבנית תהליך עבודה כדי ליצור ולעדכן משאב של תבנית תהליך עבודה ב-Dataproc.
הפעלת תהליך עבודה באמצעות קובץ YAML
כדי להריץ תהליך עבודה בלי ליצור קודם משאב של תבנית תהליך עבודה, משתמשים בפקודה gcloud dataproc workflow-templates instantiate-from-file.
- מגדירים את תבנית תהליך העבודה בקובץ YAML. קובץ ה-YAML חייב לכלול את כל שדות החובה של WorkflowTemplate, חוץ מהשדה
id. בנוסף, הוא לא יכול לכלול את השדהversionואת כל השדות שמוגדרים כפלט בלבד. בדוגמה הבאה של תהליך העבודה, הרשימהprerequisiteStepIdsבשלבterasortמבטיחה שהשלבterasortיתחיל רק אחרי שהשלבteragenיושלם בהצלחה.jobs: - hadoopJob: args: - teragen - '1000' - hdfs:///gen/ mainJarFileUri: file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar stepId: teragen - hadoopJob: args: - terasort - hdfs:///gen/ - hdfs:///sort/ mainJarFileUri: file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar stepId: terasort prerequisiteStepIds: - teragen placement: managedCluster: clusterName: my-managed-cluster config: gceClusterConfig: zoneUri: us-central1-a - מריצים את תהליך העבודה:
gcloud dataproc workflow-templates instantiate-from-file \ --file=TEMPLATE_YAML \ --region=REGION
יצירת מופע של תהליך עבודה באמצעות קובץ YAML עם Dataproc Auto Zone Placement
- מגדירים את תבנית תהליך העבודה בקובץ YAML. קובץ ה-YAML הזה זהה לקובץ ה-YAML הקודם, אלא שהשדה
zoneUriמוגדר למחרוזת הריקה ('') כדי לאפשר ל-Dataproc Auto Zone Placement לבחור את האזור עבור האשכול.jobs: - hadoopJob: args: - teragen - '1000' - hdfs:///gen/ mainJarFileUri: file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar stepId: teragen - hadoopJob: args: - terasort - hdfs:///gen/ - hdfs:///sort/ mainJarFileUri: file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar stepId: terasort prerequisiteStepIds: - teragen placement: managedCluster: clusterName: my-managed-cluster config: gceClusterConfig: zoneUri: '' - מריצים את תהליך העבודה. כשמשתמשים במיקום אוטומטי, צריך להעביר אזור לפקודה
gcloud.gcloud dataproc workflow-templates instantiate-from-file \ --file=TEMPLATE_YAML \ --region=REGION
ייבוא וייצוא של קובץ YAML של תבנית זרימת עבודה
אתם יכולים לייבא ולייצא קובצי YAML של תבניות זרימת עבודה. בדרך כלל, מייצאים קודם תבנית של זרימת עבודה כקובץ YAML, ואז עורכים את קובץ ה-YAML, ואז מייבאים את קובץ ה-YAML הערוך כדי לעדכן את התבנית.
מייצאים את תבנית זרימת העבודה לקובץ YAML. במהלך פעולת הייצוא, השדות
idו-versionוכל השדות שהפלט שלהם הוא לקריאה בלבד מסוננים מהפלט ולא מופיעים בקובץ ה-YAML המיוצא. אפשר להעביר לפקודה את WorkflowTemplategcloud dataproc workflow-templates export TEMPLATE_ID or TEMPLATE_NAME \ --destination=TEMPLATE_YAML \ --region=REGION
idאו את משאב התבנית המוגדר במלואוname("projects/PROJECT_ID/regions/REGION/workflowTemplates/TEMPLATE_ID").עורכים את קובץ ה-YAML באופן מקומי. שימו לב שאי אפשר להשתמש בקובץ ה-YAML המיובא בשדות
id,versionובשדות שהם רק לפלט, שסוננו מקובץ ה-YAML כשייצאתם את התבנית.ייבוא של קובץ ה-YAML של תבנית זרימת העבודה המעודכנת:
אפשר להעביר לפקודה את WorkflowTemplategcloud dataproc workflow-templates import TEMPLATE_ID or TEMPLATE_NAME \ --source=TEMPLATE_YAML \ --region=REGION
idאו את משאב התבנית המוגדר במלואוname("projects/PROJECT_ID/regions/region/workflowTemplates/TEMPLATE_ID"). משאב התבנית עם אותו שם של תבנית יוחלף (יעודכן) ומספר הגרסה שלו יוגדל. אם לא קיימת תבנית עם אותו שם, היא תיווצר.