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

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

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

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

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

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

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

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

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

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

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

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

  • במקרים מסוימים, למכונות וירטואליות של Dataflow Worker מוקצות כתובות IPv6 מטווחים פנימיים של Google (לדוגמה, 2600:2d00::/28). הכתובות האלה משמשות כדי לאפשר תקשורת ישירה ואופטימלית עם העורף של שירות ארגון נתונים של Dataflow. זהו מנגנון פנימי של רשתות שמשמש באופן ספציפי לתקשורת של Shuffle.

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

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

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

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

תמחור

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