פוסט זה מכיל את הצעד הנדרש הנדרש ליצירת UDF ב- Apache Pig. כל ה- UDF אמור להרחיב את פונקציית המסנן ועליו להכיל שיטה הנקראת exec, המכילה Tuple. ההיגיון המיושם כאן הוא שאם ה- Tuple הוא אפס או אפס, זה ייתן לך ערך בוליאני: נכון או לא נכון. ו- 'IsofAge' נועד לבדיקה אם הגיל שניתן נכון או לא. ההיגיון של הפונקציה שהוגדרה על ידי המשתמש נכתב בקודי Java, שם ייווצר קובץ ה- JAR ואז ייצא. מאוחר יותר רשום קובץ ה- JAR. קבצי JAR אלה נמצאים בקבצי הספרייה של Apache Pig בזמן הטעינה.
מחלקה ציבורית IsOfAge מרחיב את FilterFunc { @Override public execoolool (tuple tuple) זורקIOException { אם (tuple == null || tuple.size () == 0) { שקר חוזר } לְנַסוֹת{ אובייקט אובייקט = tuple.get (0) אם (אובייקט == null) { שקר חוזר } אובייקט inti = (שלם) אם (i == 18 || i == 19 || i == 21 || i == 23 || i == 27) { אמיתי } אחר { שקר חוזר }} לתפוס (ExecExceptione) { throwewIOException (ה) }}}
איך קוראים UDF חזיר?
לאחר יצירת UDF, יש להשתמש בפקודה הבאה כדי לרשום את קובץ ה- JAR.
רשום myudf.jar X = מסנן A על ידי IsOfAge (גיל)
שלבים ליצירת UDF בחזיר:
ישנן מספר פונקציות מוגדרות מראש ב- Apache Pig. יש לנו גם את התכונה ליצור פונקציה משלנו שהיא UDF (User Defined Function). UDF של חזיר כתוב ב- Java וזה מחייב את ספריית החזירים להשתמש בשיעורים שהוגדרו מראש. ספריית אפאצ'י חזיר pig-0.8.0-cdh3u0-core.jar ניתן להורדה מהאינטרנט.
מה זה סמפור בג'אווה
לחץ כאן לצעדים ליצירת סקריפט חזיר עם UDF במצב HDFS.
יש לך שאלה עבורנו? הזכר אותם בסעיף ההערות ונחזור אליך.
פוסטים קשורים:
דוגמה לחסימה סטטית בג'אווה
Apache חזיר סקריפט עם UDF במצב HDFS
מה הם אסימונים בג'אווה
מפעילים בחזיר אפאצ'י: חלק 1 - מפעילים יחסיים
מפעילים בחזיר אפאצ'י: חלק 2 - מפעילי אבחון