מפעילים בחזיר אפאצ'י: חלק 1 - מפעילים יחסיים



פוסט זה מתאר אודות מפעילים בחזיר אפאצ'י. עיין בפוסט זה עבור מפעילים בחזיר אפאצ'י: חלק 1 - מפעילים יחסיים.

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

מהו אפאצ'י חזיר?

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





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

אני יודע שחזיר נשמע הרבה יותר כמו כלי ETL ויש לו תכונות רבות המשותפות לכלי ETL. אך היתרון של חזיר על פני כלי ETL הוא בכך שהוא יכול לרוץ על שרתים רבים בו זמנית.



מה זה אפאצ'י חזיר לטיני?

Apache Pig יוצרים הפשטת שפה פרוצדוראלית פשוטה יותר על Map Reduce כדי לחשוף ממשק דמוי שפת שאילתות מובנית יותר (SQL) עבור יישומי Hadoop המכונה Apache Pig Latin, אז במקום לכתוב יישום Map Reduce נפרד, אתה יכול לכתוב סקריפט יחיד באפצ'י. לטינית חזירים שמקבילה אוטומטית ומופצת על פני אשכול. במילים פשוטות, חזיר לטיני, הוא רצף של משפטים פשוטים שלוקחים קלט ומייצרים פלט. נתוני הקלט והפלט מורכבים משקיות, מפות, צמרות וסקלר.

מצבי ביצוע חזיר אפאצ'י:

ל- Apache Pig שני מצבי ביצוע:

  • מצב מקומי

ב'מצב מקומי ', נתוני המקור ייבחרו מהספרייה המקומית במערכת המחשב שלך. ניתן להגדיר את מצב MapReduce באמצעות הפקודה ‘pig –x local’.



מפעילים בחזיר אפאצ

  • MapReduce Mode:

כדי להפעיל את חזיר במצב MapReduce, אתה זקוק לגישה לאשכול Hadoop ולהתקנת HDFS. ניתן להגדיר את מצב MapReduce באמצעות הפקודה 'חזיר'.

מתי להשתמש בזה בג'אווה

מפעילי חזיר אפאצ'י:

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

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

יש לנו שני קבצים עם השם 'ראשון' ו'שני '. הקובץ הראשון מכיל שלושה שדות: משתמש, כתובת אתר ומזהה.

הקובץ השני מכיל שני שדות: url & rating. שני הקבצים האלה הם קבצי CSV.

ניתן לסווג את מפעילי החזיר של אפאצ'י כ: יחס ואבחון.

מפעילים יחסיים:

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

לִטעוֹן:

מפעיל LOAD משמש לטעינת נתונים ממערכת הקבצים או מאחסון HDFS לקשר חזיר.

בדוגמה זו, מפעיל הטעינה טוען נתונים מהקובץ 'ראשון' כדי ליצור יחס 'loading1'. שמות השדות הם user, url, id.

לכל אחד:

מפעיל זה מייצר טרנספורמציות נתונים על בסיס עמודות נתונים. הוא משמש להוספה או הסרה של שדות מקשר. השתמש בפעולה FOREACH-GENERATE לעבודה עם עמודות נתונים.

תוצאה של כל:

לְסַנֵן:

מפעיל זה בוחר צמרות מתוך קשר בהתבסס על תנאי.

בדוגמה זו, אנו מסננים את הרשומה מ- 'loading1' כאשר התנאי 'id' גדול מ- 8.

תוצאת FILTER:

לְהִצְטַרֵף:

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

בדוגמה זו, הצטרף לשני היחסים על בסיס העמודה 'url' מ- 'loading1' ו- 'loading2'.

הצטרף לתוצאה:

מיין לפי:

סדר לפי משמש למיון יחס על פי שדה אחד או יותר. ניתן לבצע מיון בסדר עולה או יורד באמצעות מילות מפתח ASC ו- DESC.

בדוגמה הבאה, אנו ממיינים נתונים בטעינה 2 בסדר עולה בשדה הדירוגים.

סדר לפי תוצאה :

מוּבהָק:

Distinct מסיר צמרות כפולות ביחס. בואו ניקח קובץ קלט כמפורט להלן amr, שטויות, 8 ו amr, myblog, 10 פעמיים בתיק. כאשר אנו מיישמים נתונים שונים בקובץ זה, ערכים כפולים מוסרים.

ההבדל בין ג'אווה לזריקות

DISTINCT תוצאה:

חנות:

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

כאן אנו חוסכים טוען 3 נתונים לקובץ בשם אחסון ב- HDFS.

חנות תוצאה:

קְבוּצָה:

מפעיל GROUP מקבץ את הכדורים באותו מפתח קבוצה (שדה מפתח). שדה המפתח יהיה כפול אם למפתח הקבוצה יש יותר משדה אחד, אחרת זה יהיה זהה לזה של מפתח הקבוצה. התוצאה של פעולת GROUP היא קשר הכולל כפול אחד לכל קבוצה.

בדוגמה זו, קבוצה ה

הקשר 'loading1' לפי כתובת האתר של העמודה.

תוצאת הקבוצה:

COGROUP:

COGROUP זהה למפעיל GROUP. לקריאות, מתכנתים משתמשים בדרך כלל ב- GROUP כאשר מדובר רק ביחס אחד וב- COGROUP כאשר קשורים מרובים קשורים.

בדוגמה זו מקבצים את השדה 'loading1' ו- 'loading2' לפי url בשני היחסים.

תוצאת COGROUP:

לַחֲצוֹת:

מפעיל CROSS משמש לחישוב המוצר הצלב (מוצר קרטזי) של שני יחסים או יותר.

החלת מוצר צולב בטעינה 1 וטעינה 2.

תוצאת CROSS:

לְהַגבִּיל:

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

הגבלת תוצאה:

לְפַצֵל:

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

פצל את העמסה 2 לשני יחסים x ו- y. יחס x שנוצר על ידי loading2 מכיל את השדות שהדירוג גדול מ- 8 והקשר y מכיל שדות שהדירוג שלהם קטן מ- 8.

כיצד ליצור מערך אובייקטים בג'אווה - -

יש לך שאלה עבורנו? אנא הזכר אותם בסעיף ההערות ונחזור אליך.

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

מפעילים בחזיר אפאצ'י - מפעילי אבחון

צעדים ליצירת UDF ב- Apache Pig