בניית צינורות TFX

באמצעות Pipeline בכיתה

צינורות TFX מוגדרים באמצעות Pipeline בכיתה . הדוגמה הבאה ממחישה כיצד להשתמש Pipeline בכיתה.

pipeline.Pipeline(
    pipeline_name=pipeline-name,
    pipeline_root=pipeline-root,
    components=components,
    enable_cache=enable-cache,
    metadata_connection_config=metadata-connection-config,
)

החלף את הדברים הבאים:

  • pipeline-name : השם של צינור זה. שם הצינור חייב להיות ייחודי.

    TFX משתמש בשם הצינור בעת שאילתת ML Metadata עבור חפצי קלט של רכיבים. שימוש חוזר בשם צינור עלול לגרום להתנהגויות בלתי צפויות.

  • pipeline-root : נתיב שורש התפוקות של צינור זה. נתיב הבסיס חייב להיות הנתיב המלא לספרייה שהמתזמר שלך קיבל גישת קריאה וכתיבה אליה. בזמן ריצה, TFX משתמש בשורש הצינור כדי ליצור נתיבי פלט עבור חפצי רכיב. ספרייה זו יכולה להיות מקומית, או על מערכת קבצים מבוזרת נתמכת, כגון Google Cloud Storage או HDFS.

  • components : רשימת מקרי רכיב שמרכיבים עבודה של צינור זה.

  • enable-cache : (אופציונלי). ערך בוליאני המציין אם השימושים בצנרת זו במטמון כדי לזרז ביצוע בצנרת.

  • metadata-connection-config : (אופציונלי.) תצורת חיבור עבור Metadata ML.

הגדרת גרף ביצוע הרכיבים

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

למשל, ExampleGen רכיב סטנדרטי יכול לבלוע נתונים מקובץ CSV ורשומות למשל בהמשכים פלט. StatisticsGen רכיב סטנדרטי מקבלת רשומות למשל אלה כקלט ומייצרת הסטטיסטיקה הנתונים. בדוגמה זו, במקרה של StatisticsGen חייב לעקוב ExampleGen בגלל SchemaGen תלוי בתפוקה של ExampleGen .

תלות מבוססת משימה

ניתן גם להגדיר תלות בין פעילויות מבוססות באמצעות של הרכיב שלך add_upstream_node ו add_downstream_node שיטות. add_upstream_node מאפשר לך לציין כי הרכיב הנוכחי חייב להיות מוצא להורג לאחר הרכיב שצוין. add_downstream_node מאפשר לך לציין כי הרכיב הנוכחי חייב להיות מוצא להורג לפני הרכיב שצוין.

תבניות צינור

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

שמירה במטמון

TFX pipeline caching מאפשר ל-pipeline שלך ​​לדלג מעל רכיבים שהופעלו עם אותה סט של קלט בהרצת צינור קודמת. אם שמירה במטמון מופעלת, הצינור מנסה להתאים את החתימה של כל רכיב, הרכיב וקבוצת הכניסות, לאחת מביצועי הרכיבים הקודמים של הצינור הזה. אם יש התאמה, הצינור משתמש בפלטי הרכיבים מהריצה הקודמת. אם אין התאמה, הרכיב מבוצע.

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