משימת Hadoop MapReduce עם Bigtable
בדוגמה הזו נעשה שימוש ב-Hadoop כדי לבצע עבודת MapReduce פשוטה שסופרת את מספר הפעמים שמילה מופיעה בקובץ טקסט. משימת MapReduce משתמשת ב-Bigtable כדי לאחסן את התוצאות של פעולת המיפוי. הקוד של הדוגמה הזו נמצא במאגר GoogleCloudPlatform/cloud-bigtable-examples ב-GitHub, בספרייה java/dataproc-wordcount.
מגדירים אימות
כדי להשתמש בדוגמאות של Java שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
צרו פרטי כניסה לאימות מקומי בחשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות, צריך לוודא ש נכנסתם ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
סקירה כללית של דוגמת הקוד
דוגמת הקוד מספקת ממשק שורת פקודה (CLI) פשוט שמקבל כקלט קובץ טקסט אחד או יותר ושם של טבלה, מוצא את כל המילים שמופיעות בקובץ וסופר כמה פעמים כל מילה מופיעה. הלוגיקה של MapReduce מופיעה ב-WordCountHBase class.
קודם, פונקציית mapper מבצעת טוקניזציה של התוכן בקובץ הטקסט ויוצרת זוגות של מפתח-ערך, כאשר המפתח הוא מילה מקובץ הטקסט והערך הוא 1:
לאחר מכן, פונקציית reducer מסכמת את הערכים של כל מפתח וכותבת את התוצאות לטבלת Bigtable שציינתם. כל מפתח שורה הוא מילה מקובץ הטקסט. כל שורה מכילה עמודה של cf:count, שמכילה את מספר הפעמים שמפתח השורה מופיע בקובץ הטקסט.