ארגון נתונים של Dataflow למשימות באצווה

כברירת מחדל, משימות באצווה משתמשות בארגון נתונים של Dataflow. שירות ארגון הנתונים של Dataflow מעביר את פעולת הארגון ממכונות ה-VM של העובדים אל קצה העורף של שירות Dataflow.

המידע בדף הזה רלוונטי לעבודות באצווה. משימות סטרימינג משתמשות במנגנון ערבוב שונה שנקרא ערבוב סטרימינג.

מידע על ארגון נתונים של Dataflow

  • ארגון נתונים של Dataflow הוא פעולת הבסיס שמאחורי טרנספורמציות של Dataflow כמו GroupByKey,‏ CoGroupByKey ו-Combine.
  • פעולת ה-Shuffle ב-Dataflow מחלקת ומקבצת נתונים לפי מפתח בצורה יעילה, סובלנית לתקלות וניתנת להרחבה.

היתרונות של ארגון נתונים של Dataflow

לארגון נתונים ב-Dataflow שמבוסס על שירות יש את היתרונות הבאים:

  • זמן ביצוע מהיר יותר של צינורות עיבוד נתונים באצווה עבור רוב סוגי המשימות של צינורות עיבוד הנתונים.
  • הפחתה בצריכת המשאבים של יחידת העיבוד המרכזית (CPU), הזיכרון ו-Persistent Disk במכונות הווירטואליות של העובדים.
  • התאמה אוטומטית לעומס אופקית טובה יותר, כי המכונות הווירטואליות לא מכילות נתונים של ערבוב, ולכן אפשר להקטין את הגודל שלהן מוקדם יותר.
  • סובלנות טובה יותר לתקלות, כי מכונה וירטואלית לא תקינה שמכילה נתוני ערבוב של Dataflow לא גורמת לכל העבודה להיכשל.

תמיכה ומגבלות

  • התכונה הזו זמינה בכל האזורים שבהם יש תמיכה ב-Dataflow. כדי לראות את המיקומים הזמינים, אפשר לקרוא את המאמר בנושא מיקומים של Dataflow. יכול להיות שיהיו הבדלים בביצועים בין אזורים שונים.
  • צריך לפרוס את ה-Workers באותו אזור שבו נמצאת משימת Dataflow.
  • אל תציינו את האפשרות zone pipeline. במקום זאת, מציינים את region ומגדירים את הערך לאחד מהאזורים הזמינים. ‫Dataflow בוחר באופן אוטומטי את האזור בתוך האזור שציינתם.

    אם מציינים את אפשרות צינור העיבוד zone ומגדירים אותה לאזור מחוץ לאזורים הזמינים, עבודת Dataflow מחזירה שגיאה. אם מגדירים שילוב לא תואם של region ו-zone, אי אפשר להשתמש בערבוב נתונים ב-Dataflow במשימה.

  • ב-Python, כדי להשתמש בערבוב נתונים ב-Dataflow, צריך Apache Beam SDK ל-Python בגרסה 2.1.0 ואילך.

שיקולים לגבי גודל הדיסק

גודל דיסק האתחול שמוגדר כברירת מחדל לכל משימה באצווה הוא 25GB. יכול להיות שתצטרכו לשנות את גודל הדיסק בחלק מהעבודות באצווה. כמה נקודות שכדאי לחשוב עליהן:

  • מכונת VM של עובד משתמשת בחלק מנפח הדיסק של 25 GB עבור מערכת ההפעלה, קבצים בינאריים, יומנים וקונטיינרים. יכול להיות שג'ובים שמשתמשים בכמות משמעותית של דיסק וחרגו מקיבולת הדיסק שנותרה ייכשלו כשמשתמשים בערבול של Dataflow.
  • יכול להיות שיהיה איטי לבצע עבודות שמשתמשות בהרבה קלט/פלט בדיסק, בגלל הביצועים של הדיסק הקטן. מידע נוסף על ההבדלים בביצועים בין גדלים שונים של Persistent Disk זמין במאמר בנושא ביצועים של Persistent Disk ב-Compute Engine.

כדי לציין גודל דיסק גדול יותר לעבודת ערבול של Dataflow, אפשר להשתמש בפרמטר --disk_size_gb.

תמחור

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