Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)
במדריך הזה נסביר איך לכתוב גרף אציקלי מכוון (DAG) של Apache Airflow שפועל בסביבת Managed Service for Apache Airflow.
מכיוון ש-Apache Airflow לא מספק בידוד חזק של DAG ומשימות, מומלץ להשתמש בסביבות ייצור ובדיקה נפרדות כדי למנוע הפרעות ב-DAG. מידע נוסף זמין במאמר בנושא בדיקת DAG.
הגדרת מבנה של DAG ב-Airflow
גרף מכוון מחזורי (DAG) של Airflow מוגדר בקובץ Python ומורכב מהרכיבים הבאים:
- הגדרת DAG
- פעולות על זרימת אוויר
- קשרי אופרטורים
בקטעי הקוד הבאים מוצגות דוגמאות לכל רכיב ללא הקשר.
הגדרת DAG
בדוגמה הבאה מוצגת הגדרה של Airflow DAG:
אופרטורים ומשימות
רכיבי Airflow Operators מתארים את העבודה שצריך לבצע. משימה היא מופע ספציפי של אופרטור.
קשרים בין משימות
קשרי משימות מתארים את הסדר שבו צריך להשלים את העבודה.
דוגמה מלאה לתהליך עבודה של DAG ב-Python
תהליך העבודה הבא הוא תבנית DAG מלאה שפועלת ומורכבת משתי משימות: משימה hello_python ומשימה goodbye_bash:
מידע נוסף על הגדרת DAG ב-Airflow זמין בהדרכה בנושא Airflow ובמאמר מושגים ב-Airflow.
פעולות על זרימת אוויר
בדוגמאות הבאות מוצגים כמה אופרטורים פופולריים של Airflow. לעיון במקור מידע מהימן על אופרטורים של Airflow, אפשר לעיין בחומר העזר בנושא אופרטורים ו-Hooks ובאינדקס הספקים.
BashOperator
משתמשים ב-BashOperator כדי להריץ תוכניות של שורת פקודה.
Managed Airflow מריץ את הפקודות שצוינו בסקריפט Bash ב-worker של Airflow. ה-worker הוא קונטיינר Docker מבוסס-Debian וכולל כמה חבילות.
- הפקודה
gcloud, כולל פקודת המשנהgcloud storageלעבודה עם קטגוריות של Cloud Storage. bqcommandkubectlcommand
PythonOperator
משתמשים ב-PythonOperator כדי להריץ קוד Python שרירותי.
Managed Airflow מריץ את קוד Python בקונטיינר שכולל חבילות עבור גרסת האימג' של Managed Airflow שבה נעשה שימוש בסביבה שלכם.
כדי להתקין חבילות Python נוספות, ראו התקנת יחסי תלות ב-Python.
Google Cloud אופרטורים
כדי להריץ משימות שמשתמשות במוצרי Google Cloud , משתמשים באופרטורים שלGoogle Cloud Airflow. לדוגמה, אופרטורים של BigQuery שולחים שאילתות ומעבדים נתונים ב-BigQuery.
יש עוד הרבה אופרטורים של Airflow ל Google Cloud ולשירותים ספציפיים שמוצעים על ידי Google Cloud. Google Cloud רשימה מלאה של אופרטורים
EmailOperator
משתמשים ב-EmailOperator כדי לשלוח אימייל מ-DAG. כדי לשלוח אימייל מסביבת Managed Airflow, צריך להגדיר את הסביבה לשימוש ב-SendGrid.
התראות על כשלים באופרטור
מגדירים את email_on_failure ל-True כדי לשלוח התראה באימייל כשמפעיל ב-DAG נכשל. כדי לשלוח התראות באימייל מסביבת Managed Airflow, צריך להגדיר את הסביבה לשימוש ב-SendGrid.
הנחיות לתהליכי עבודה מסוג DAG
ממקמים את כל ספריות Python בהתאמה אישית בארכיון ZIP של DAG בספרייה מקוננת. אין למקם ספריות ברמה העליונה של ספריית ה-DAG.
כש-Airflow סורק את התיקייה
dags/, הוא בודק רק אם יש DAG במודולי Python שנמצאים ברמה העליונה של תיקיית ה-DAG וברמה העליונה של ארכיון ZIP שנמצא גם הוא ברמה העליונה של התיקייהdags/. אם Airflow נתקל במודול Python בארכיון ZIP שלא מכיל את מחרוזות המשנהairflowו-DAG, הוא מפסיק את העיבוד של ארכיון ה-ZIP. Airflow מחזיר רק את ה-DAG שנמצאו עד לנקודה הזו.כדי להבטיח עמידות בפני תקלות, אל תגדירו כמה אובייקטים של DAG באותו מודול Python.
אל תשתמשו ב-SubDAGs. במקום זאת, מקבצים משימות בתוך DAGs.
ממקמים את הקבצים הנדרשים בזמן הניתוח של DAG בתיקייה
dags/, ולא בתיקייהdata/.מומלץ לבדוק DAG שפותח או שונה לפי ההוראות לבדיקת DAG.
כלי ה-CLI לפיתוח מקומי של Composer מייעל את הפיתוח של DAG ב-Apache Airflow עבור Managed Airflow (דור 2) על ידי הרצת סביבת Airflow באופן מקומי. בסביבת Airflow המקומית הזו נעשה שימוש בתמונה של גרסה ספציפית של Managed Airflow (דור 2).
מוודאים שפיתוח של DAG לא גורם לעלייה גדולה מדי בזמני הניתוח של DAG.
יכולות להיות כמה סיבות לכשל במשימות של Airflow. כדי למנוע כשלים בהפעלות של DAG שלם, מומלץ להפעיל ניסיונות חוזרים של משימות. הגדרת מספר הניסיונות החוזרים המקסימלי לערך
0פירושה שלא יתבצעו ניסיונות חוזרים.מומלץ לשנות את האפשרות
default_task_retriesעם ערך אחר של ניסיונות חוזרים למשימה, ולא0. בנוסף, אפשר להגדיר את הפרמטרretriesברמת המשימה.אם רוצים להשתמש ב-GPU במשימות Airflow, צריך ליצור אשכול GKE נפרד שמבוסס על צמתים באמצעות מכונות עם GPU. משתמשים ב-GKEStartPodOperator כדי להריץ את המשימות.
מומלץ להימנע מהרצת משימות שדורשות הרבה משאבים מהמעבד ומהזיכרון במאגר הצמתים של האשכול, שבו פועלים רכיבי Airflow אחרים (מתזמנים, עובדים, שרתי אינטרנט). במקום זאת, אפשר להשתמש ב-KubernetesPodOperator או ב-GKEStartPodOperator.
כשפורסים DAG בסביבה, מעלים לתיקייה
/dagsרק את הקבצים שנדרשים לפרשנות ולביצוע של DAG.הגבלת מספר קובצי ה-DAG בתיקייה
/dags.מערכת Airflow מנתחת באופן רציף קובצי DAG בתיקייה
/dags. הניתוח הוא תהליך שחוזר על עצמו בתיקיית ה-DAG, ומספר הקבצים שצריך לטעון (עם התלות שלהם) משפיע על הביצועים של ניתוח ה-DAG ותזמון המשימות. יעיל הרבה יותר להשתמש ב-100 קבצים עם 100 DAG בכל אחד מאשר ב-10,000 קבצים עם DAG אחד בכל אחד, ולכן מומלץ לבצע אופטימיזציה כזו. האופטימיזציה הזו היא איזון בין זמן הניתוח לבין היעילות של יצירה וניהול של DAG.לדוגמה, אם רוצים לפרוס 10,000 קובצי DAG, אפשר ליצור 100 קובצי ZIP, שכל אחד מהם מכיל 100 קובצי DAG.
בנוסף להצעות שלמעלה, אם יש לכם יותר מ-10,000 קובצי DAG, יכול להיות שכדאי ליצור DAG באופן פרוגרמטי. לדוגמה, אפשר להטמיע קובץ Python DAG יחיד שיוצר מספר מסוים של אובייקטים של DAG (לדוגמה, 20 או 100 אובייקטים של DAG).
לא מומלץ להשתמש באופרטורים של Airflow שהוצאו משימוש. במקום זאת, משתמשים בחלופות העדכניות שלהם.
שאלות נפוצות בנושא כתיבת DAG
איך אפשר לצמצם את כפילויות הקוד אם רוצים להריץ את אותן משימות או משימות דומות בכמה DAG?
מומלץ להגדיר ספריות ועטיפות כדי לצמצם את כפילות הקוד.
איך אפשר לעשות שימוש חוזר בקוד בין קובצי DAG?
מכניסים את פונקציות השירות לספריית Python מקומית ומייבאים את הפונקציות. אפשר להפנות לפונקציות בכל DAG שנמצא בתיקייה dags/ בדלי של הסביבה.
איך אפשר לצמצם את הסיכון להגדרות שונות?
לדוגמה, יש לכם שני צוותים שרוצים לצבור נתונים גולמיים למדדי הכנסות. הצוותים כותבים שתי משימות שונות במקצת שמשיגות את אותו הדבר. הגדרת ספריות כדי לעבוד עם נתוני ההכנסות, כך שהמטמיעים של DAG צריכים להבהיר את ההגדרה של ההכנסות שמצטברות.
איך מגדירים תלות בין DAG?
ההגדרה תלויה באופן שבו רוצים להגדיר את התלות.
אם יש לכם שני DAG (DAG A ו-DAG B) ואתם רוצים ש-DAG B יופעל אחרי DAG A, אתם יכולים להוסיף TriggerDagRunOperator בסוף DAG A.
אם DAG B תלוי רק בארטיפקט שנוצר על ידי DAG A, כמו הודעת Pub/Sub, יכול להיות שחיישן יתאים יותר.
אם DAG B משולב בצורה הדוקה עם DAG A, יכול להיות שאפשר למזג את שני ה-DAG ל-DAG אחד.
איך מעבירים מזהי הפעלה ייחודיים ל-DAG ולמשימות שלו?
לדוגמה, אתם רוצים להעביר שמות של אשכולות Dataproc ונתיבי קבצים.
כדי ליצור מזהה ייחודי אקראי, מחזירים str(uuid.uuid4()) ב-PythonOperator. המזהה יופיע ב-XComs, כך שתוכלו להפנות למזהה באופרטורים אחרים באמצעות שדות של תבניות.
לפני שמפיקים uuid, כדאי לשקול אם מזהה ספציפי ל-DagRun יהיה שימושי יותר. אפשר גם להפנות למזהים האלה בהחלפות של Jinja באמצעות פקודות מאקרו.
איך מפרידים בין משימות ב-DAG?
כל משימה צריכה להיות יחידת עבודה אידמפוטנטית. לכן, מומלץ להימנע מהוספת תהליך עבודה מרובה שלבים בתוך משימה אחת, כמו תוכנית מורכבת שפועלת ב-PythonOperator.
האם כדאי להגדיר כמה משימות ב-DAG אחד כדי לצבור נתונים מכמה מקורות?
לדוגמה, יש לכם כמה טבלאות עם נתונים גולמיים ואתם רוצים ליצור נתונים מצטברים יומיים לכל טבלה. המשימות לא תלויות זו בזו. כדאי ליצור משימה אחת ו-DAG אחד לכל טבלה, או ליצור DAG כללי אחד?
אם אתם מסכימים שכל משימה תשתף את אותם מאפיינים ברמת ה-DAG, כמו schedule, כדאי להגדיר כמה משימות ב-DAG אחד. אחרת, כדי לצמצם את כפילות הקוד, אפשר ליצור כמה DAG ממודול Python יחיד על ידי הצבתם ב-globals() של המודול.
איך מגבילים את מספר המשימות שפועלות בו-זמנית ב-DAG?
לדוגמה, אם אתם רוצים להימנע מחריגה ממכסות או ממגבלות שימוש ב-API, או מריצה של יותר מדי תהליכים בו-זמנית.
אתם יכולים להגדיר מאגרי Airflow בממשק המשתמש האינטרנטי של Airflow ולשייך משימות למאגרים קיימים ב-DAG.
שאלות נפוצות על שימוש באופרטורים
כדאי להשתמש ב-DockerOperator?
אנחנו לא ממליצים להשתמש ב-DockerOperator, אלא אם משתמשים בו להפעלת קונטיינרים בהתקנת Docker מרחוק (לא בתוך אשכול של סביבה). בסביבת Managed Airflow, לאופרטור אין גישה לדמונים של Docker.
במקום זאת, צריך להשתמש ב-KubernetesPodOperator או ב-GKEStartPodOperator. האופרטורים האלה מפעילים pods של Kubernetes באשכולות Kubernetes או GKE, בהתאמה. הערה: אנחנו לא ממליצים להפעיל pods באשכול של סביבה, כי זה עלול להוביל לתחרות על משאבים.
כדאי להשתמש ב-SubDagOperator?
לא מומלץ להשתמש ב-SubDagOperator.
כדאי להשתמש בחלופות כמו שמפורט במאמר קיבוץ משימות.
האם כדאי להריץ קוד Python רק ב-PythonOperators כדי להפריד באופן מלא בין אופרטורים של Python?
בהתאם ליעד שלכם, יש כמה אפשרויות.
אם הדבר היחיד שחשוב לכם הוא לשמור על יחסי תלות נפרדים של Python, אתם יכולים להשתמש ב-PythonVirtualenvOperator.
כדאי להשתמש ב-KubernetesPodOperator. האופרטור הזה מאפשר להגדיר קבוצות Pod של Kubernetes ולהריץ את קבוצות ה-Pod באשכולות אחרים.
איך מוסיפים חבילות בינאריות או חבילות שאינן PyPI בהתאמה אישית?
אתם יכולים להתקין חבילות שמתארחות במאגרי חבילות פרטיים.
איך מעבירים ארגומנטים באופן אחיד ל-DAG ולמשימות שלו?
אתם יכולים להשתמש בתמיכה המובנית של Airflow בתבניות Jinja כדי להעביר ארגומנטים שאפשר להשתמש בהם בשדות של תבניות.
מתי מתבצעת החלפת התבנית?
החלפת התבנית מתבצעת בתהליכי העבודה של Airflow ממש לפני שקוראים לפונקציה pre_execute של אופרטור. בפועל, המשמעות היא שהתבניות לא מוחלפות עד לרגע שלפני הפעלת המשימה.
איך אפשר לדעת אילו ארגומנטים של אופרטור תומכים בהחלפת תבנית?
ארגומנטים של אופרטורים שתומכים בהחלפת תבניות Jinja2 מסומנים במפורש ככאלה.
מחפשים את השדה template_fields בהגדרת האופרטור, שמכיל רשימה של שמות ארגומנטים שעוברים החלפה בתבנית.
לדוגמה, אפשר לעיין ב-BashOperator, שתומך ביצירת תבניות לארגומנטים bash_command ו-env.
אופרטורים של Airflow שהוצאו משימוש והוסרו
האופרטורים של Airflow שמפורטים בטבלה הבאה הוצאו משימוש:
אל תשתמשו באופרטורים האלה ב-DAG. במקום זאת, צריך להשתמש באופרטורים העדכניים החלופיים שצוינו.
אם אופרטור מופיע כהוסר, סימן שהוא כבר לא זמין באחת מהגרסאות שפורסמו של Managed Airflow (דור 2).
אם אופרטור מופיע ברשימה עם הערה שהוא מתוכנן להסרה, סימן שהוא הוצא משימוש ויוסר בגרסה עתידית של Managed Airflow (Gen 2).
אם ספק מופיע ברשימה already removed in latest Google providers, הספק הוסר בגרסה האחרונה של חבילת
apache-airflow-providers-google. במקביל, ב-Managed Airflow עדיין נעשה שימוש בגרסה של החבילה שבה האופרטור עדיין לא הוסר.
| אופרטור שהוצא משימוש | סטטוס | אופרטור החלפה | אפשרות החלפה זמינה מ- |
|---|---|---|---|
| CreateAutoMLTextTrainingJobOperator | הוסר | SupervisedFineTuningTrainOperator |
composer-2.9.5-airflow-2.9.3 composer-2.9.5-airflow-2.9.1 |
| GKEDeploymentHook | הוסר | GKEKubernetesHook |
composer-2.7.1-airflow-2.7.3 |
| GKECustomResourceHook | הוסר | GKEKubernetesHook |
composer-2.7.1-airflow-2.7.3 |
| GKEPodHook | הוסר | GKEKubernetesHook |
composer-2.7.1-airflow-2.7.3 |
| GKEJobHook | הוסר | GKEKubernetesHook |
composer-2.7.1-airflow-2.7.3 |
| GKEPodAsyncHook | הוסר | GKEKubernetesAsyncHook |
composer-2.7.1-airflow-2.7.3 |
| SecretsManagerHook | הוסר | GoogleCloudSecretManagerHook |
composer-2.8.3-airflow-2.7.3 |
| BigQueryExecuteQueryOperator | הוסר | BigQueryInsertJobOperator |
כל הגרסאות |
| BigQueryPatchDatasetOperator | הוסר | BigQueryUpdateDatasetOperator |
כל הגרסאות |
| DataflowCreateJavaJobOperator | הוסר | beam.BeamRunJavaPipelineOperator |
כל הגרסאות |
| DataflowCreatePythonJobOperator | הוסר | beam.BeamRunPythonPipelineOperator |
כל הגרסאות |
| DataprocSubmitPigJobOperator | הוסר | DataprocSubmitJobOperator |
כל הגרסאות |
| DataprocSubmitHiveJobOperator | הוסר | DataprocSubmitJobOperator |
כל הגרסאות |
| DataprocSubmitSparkSqlJobOperator | הוסר | DataprocSubmitJobOperator |
כל הגרסאות |
| DataprocSubmitSparkJobOperator | הוסר | DataprocSubmitJobOperator |
כל הגרסאות |
| DataprocSubmitHadoopJobOperator | הוסר | DataprocSubmitJobOperator |
כל הגרסאות |
| DataprocSubmitPySparkJobOperator | הוסר | DataprocSubmitJobOperator |
כל הגרסאות |
| BigQueryTableExistenceAsyncSensor | הוסר | BigQueryTableExistenceSensor |
composer-2.3.0-airflow-2.5.1, composer-2.3.0-airflow-2.4.3 |
| BigQueryTableExistencePartitionAsyncSensor | הוסר | BigQueryTablePartitionExistenceSensor |
composer-2.3.0-airflow-2.5.1, composer-2.3.0-airflow-2.4.3 |
| CloudComposerEnvironmentSensor | הוסר | CloudComposerCreateEnvironmentOperator, CloudComposerDeleteEnvironmentOperator, CloudComposerUpdateEnvironmentOperator |
composer-2.3.0-airflow-2.5.1, composer-2.3.0-airflow-2.4.3 |
| GCSObjectExistenceAsyncSensor | הוסר | GCSObjectExistenceSensor |
composer-2.3.0-airflow-2.5.1, composer-2.3.0-airflow-2.4.3 |
| GoogleAnalyticsHook | הוסר | GoogleAnalyticsAdminHook |
composer-2.3.0-airflow-2.5.1, composer-2.3.0-airflow-2.4.3 |
| GoogleAnalyticsListAccountsOperator | הוסר | GoogleAnalyticsAdminListAccountsOperator |
composer-2.3.0-airflow-2.5.1, composer-2.3.0-airflow-2.4.3 |
| GoogleAnalyticsGetAdsLinkOperator | הוסר | GoogleAnalyticsAdminGetGoogleAdsLinkOperator |
composer-2.3.0-airflow-2.5.1, composer-2.3.0-airflow-2.4.3 |
| GoogleAnalyticsRetrieveAdsLinksListOperator | הוסר | GoogleAnalyticsAdminListGoogleAdsLinksOperator |
composer-2.3.0-airflow-2.5.1, composer-2.3.0-airflow-2.4.3 |
| GoogleAnalyticsDataImportUploadOperator | הוסר | GoogleAnalyticsAdminCreateDataStreamOperator |
composer-2.3.0-airflow-2.5.1, composer-2.3.0-airflow-2.4.3 |
| GoogleAnalyticsDeletePreviousDataUploadsOperator | הוסר | GoogleAnalyticsAdminDeleteDataStreamOperator |
composer-2.3.0-airflow-2.5.1, composer-2.3.0-airflow-2.4.3 |
| DataPipelineHook | הוסר | DataflowHook |
composer-2.8.6-airflow-2.9.1 composer-2.8.6-airflow-2.7.3 |
| CreateDataPipelineOperator | הוסר | DataflowCreatePipelineOperator |
composer-2.8.6-airflow-2.9.1 composer-2.8.6-airflow-2.7.3 |
| RunDataPipelineOperator | הוסר | DataflowRunPipelineOperator |
composer-2.8.6-airflow-2.9.1 composer-2.8.6-airflow-2.7.3 |
| AutoMLDatasetLink | הוצא משימוש, מתוכננת הסרה | TranslationLegacyDatasetLink |
composer-2.8.6-airflow-2.9.1 composer-2.8.6-airflow-2.7.3 |
| AutoMLDatasetListLink | הוצא משימוש, מתוכננת הסרה | TranslationDatasetListLink |
composer-2.8.6-airflow-2.9.1 composer-2.8.6-airflow-2.7.3 |
| AutoMLModelLink | הוצא משימוש, מתוכננת הסרה | TranslationLegacyModelLink |
composer-2.8.6-airflow-2.9.1 composer-2.8.6-airflow-2.7.3 |
| AutoMLModelTrainLink | הוצא משימוש, מתוכננת הסרה | TranslationLegacyModelTrainLink |
composer-2.8.6-airflow-2.9.1 composer-2.8.6-airflow-2.7.3 |
| AutoMLModelPredictLink | הוצא משימוש, מתוכננת הסרה | TranslationLegacyModelPredictLink |
composer-2.8.6-airflow-2.9.1 composer-2.8.6-airflow-2.7.3 |
| AutoMLBatchPredictOperator | הוסר | vertex_ai.batch_prediction_job |
composer-2.9.8-airflow-2.9.3 |
| AutoMLPredictOperator | הוצא משימוש, מתוכננת הסרה | vertex_aigenerative_model. TextGenerationModelPredictOperator, translate.TranslateTextOperator |
composer-2.8.3-airflow-2.7.3 |
| PromptLanguageModelOperator | הוסר | TextGenerationModelPredictOperator |
composer-2.8.6-airflow-2.9.1 composer-2.8.6-airflow-2.7.3 |
| GenerateTextEmbeddingsOperator | הוסר | TextEmbeddingModelGetEmbeddingsOperator |
composer-2.8.6-airflow-2.9.1 composer-2.8.6-airflow-2.7.3 |
| PromptMultimodalModelOperator | הוסר | GenerativeModelGenerateContentOperator |
composer-2.8.6-airflow-2.9.1 composer-2.8.6-airflow-2.7.3 |
| PromptMultimodalModelWithMediaOperator | הוסר | GenerativeModelGenerateContentOperator |
composer-2.8.6-airflow-2.9.1 composer-2.8.6-airflow-2.7.3 |
| DataflowStartSqlJobOperator | הוסר | DataflowStartYamlJobOperator |
composer-2.9.5-airflow-2.9.3 composer-2.9.5-airflow-2.9.1 |
| LifeSciencesHook | הוצא משימוש, מתוכננת הסרה | ה-hook של Google Cloud Batch Operators |
יפורסם בקרוב |
| DataprocScaleClusterOperator | הוצא משימוש, מתוכננת הסרה | DataprocUpdateClusterOperator |
יפורסם בקרוב |
| MLEngineStartBatchPredictionJobOperator | הוצא משימוש, מתוכננת הסרה | CreateBatchPredictionJobOperator |
יפורסם בקרוב |
| MLEngineManageModelOperator | הוצא משימוש, מתוכננת הסרה | MLEngineCreateModelOperator, MLEngineGetModelOperator |
יפורסם בקרוב |
| MLEngineGetModelOperator | הוצא משימוש, מתוכננת הסרה | GetModelOperator |
יפורסם בקרוב |
| MLEngineDeleteModelOperator | הוצא משימוש, מתוכננת הסרה | DeleteModelOperator |
יפורסם בקרוב |
| MLEngineManageVersionOperator | הוצא משימוש, מתוכננת הסרה | MLEngineCreateVersion, MLEngineSetDefaultVersion, MLEngineListVersions, MLEngineDeleteVersion |
יפורסם בקרוב |
| MLEngineCreateVersionOperator | הוצא משימוש, מתוכננת הסרה | פרמטר parent_model לאופרטורים של VertexAI |
יפורסם בקרוב |
| MLEngineSetDefaultVersionOperator | הוצא משימוש, מתוכננת הסרה | SetDefaultVersionOnModelOperator |
יפורסם בקרוב |
| MLEngineListVersionsOperator | הוצא משימוש, מתוכננת הסרה | ListModelVersionsOperator |
יפורסם בקרוב |
| MLEngineDeleteVersionOperator | הוצא משימוש, מתוכננת הסרה | DeleteModelVersionOperator |
יפורסם בקרוב |
| MLEngineStartTrainingJobOperator | הוצא משימוש, מתוכננת הסרה | CreateCustomPythonPackageTrainingJobOperator |
יפורסם בקרוב |
| MLEngineTrainingCancelJobOperator | הוצא משימוש, מתוכננת הסרה | CancelCustomTrainingJobOperator |
יפורסם בקרוב |
| LifeSciencesRunPipelineOperator | הוצא משימוש, מתוכננת הסרה | Google Cloud Batch Operators |
יפורסם בקרוב |
| MLEngineCreateModelOperator | הוצא משימוש, מתוכננת הסרה | אופרטור VertexAI תואם |
יפורסם בקרוב |
המאמרים הבאים
- פתרון בעיות ב-DAG
- פתרון בעיות בתזמון
- אופרטורים של Google
- Google Cloud אופרטורים
- מדריך ל-Apache Airflow