צד צד הצטרפות נגד. לְהִצְטַרֵף



פוסט זה דן בצד ההצטרפות של מפת Hadoop נגד. לְהִצְטַרֵף. למד גם מהי צמצום במפה, הצטרפות לטבלה, צירוף, יתרונות השימוש בפעולת הצטרפות בצד המפה בכוורת

בבלוג זה נדון בנושא צד המפה מצטרף ויתרונותיו על פני פעולת ההצטרפות הרגילה ב כוורת .זה מושג חשוב שתצטרך ללמוד ליישם את שלך .אך לפני שנדע על כך, ראשית עלינו להבין את המושג 'לְהִצְטַרֵף' ומה קורה באופן פנימי כשאנחנו מבצעים את ההצטרפות כוורת .

לְהִצְטַרֵף הוא סעיף המשלב את הרשומות של שתי טבלאות (או ערכות נתונים).
נניח שיש לנו שתי טבלאות A ו- B. כאשר אנו מבצעים פעולת צירוף עליהן, היא תחזיר את הרשומות שהן השילוב של כל העמודות של A ו- B.





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

בכל פעם שאנחנו מיישמים את פעולת ההצטרפות, התפקיד יוקצה למשימה צמצום מפה המורכבת משני שלבים- א 'שלב במפה 'ו' צמצם את הבמה '. תפקידו של ממפה במהלך Map Stage הוא לבצע 'לקרוא' הנתונים מטבלאות ההצטרפות ועד 'לַחֲזוֹר' ה 'מפתח הצטרפות' ו 'ערך הצטרפות' זוג לקובץ ביניים. יתר על כן, בשלב הדשדוש, קובץ ביניים זה ממוין וממוזג. תפקיד המפחית בשלב הצמצום הוא לקחת את התוצאה הממוינת הזו כקלט ולהשלים את משימת ההצטרפות.



  • ההצטרפות בצד המפה דומה להצטרפות אך כל המשימה תבוצע על ידי המפה בלבד.

  • ההצטרפות בצד המפה תתאים בעיקר לשולחנות קטנים כדי לייעל את המשימה.



כיצד יצטרף צד המפה לייעל את המשימה?

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

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

יתרונות השימוש בצירוף המפה:

  • הצטרפות בצד המפה מסייעת למזער את העלות שנוצרת עבור מיון ומיזוג ב לְעַרְבֵּב ו לְהַפחִית שלבים.
  • הצטרפות בצד המפה מסייעת גם בשיפור ביצועי המשימה על ידי הקטנת הזמן לסיום המשימה.

החסרונות של הצטרפות בצד המפה:

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

דוגמה פשוטה לצמצום הצטרפות למפה:

בואו ניצור שתי טבלאות:

  • אמפ : מכיל פרטים של עובד כמו שם עובד, תעודת עובד והמחלקה אליה היא שייכת.

  • מחלקה: מכיל את הפרטים כמו שם המחלקה, מזהה המחלקה וכן הלאה.

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

עובד.טקסט

dept.txt

כעת, בואו נטען את הנתונים לטבלאות.

תן לנו לבצע את בצד המפה לְהִצְטַרֵף בשתי הטבלאות כדי לחלץ את רשימת המחלקות בהן עובד כל עובד.

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

עכשיו בואו נבצע את אותה משימה בעזרת הצטרפות רגילה של צד ההפחתה.

בעת ביצוע שני הצירופים, אתה יכול למצוא את שני ההבדלים:

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

  • הצטרפות לצמצום מפות סיימה את עבודתה ללא עזרת שום מפחית ואילו הצטרפות רגילה ביצעה עבודה זו בעזרת צמצום אחד.

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

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

מעולם לא היה זמן טוב יותר להשתלט על Hadoop! התחל עכשיו עם קורס Big Data והאדופ המיועד במיוחד על ידי אדוריקה.

הפניות:
https://www.facebook.com/notes/facebook-engineering/join-optimization-in-apache-hive/470667928919

הם gitub ו- github אותו דבר

פוסטים קשורים:

7 דרכים אימון נתונים גדולים יכול לשנות את הארגון שלך