כלי גישה נתונים: MapReduce, Hive and Pig
נתחיל בהסבר כללי על כל כלי:
MapReduce – הוא framework לכתיבת
אפליקציות לעיבוד big-data בצורה
מקבילית ב-cluster שיכול להכיל
הרבה מכונות, בצורה אמינה ו-fault tolerant
Apache Hive – הוא data warehouse שמאפשר שאילתות
דומות ל-SQL בממשק נוח, עבור big-data שמאוחסן ב-HDFS
Apache Pig – כלי
שמאפשר לכתוב סקריפטים לעבודה עם קבצי big-data. הוא מציע אלטרנטיבה ל-MapReduce (ששם הכתיבה
ב-Java). סקריפטים
של Pig מומרים
בצורה אוטומטית ל-MapReduce ע"י ה-Pig engine
Apache Hive
נבנה ע"י פייסבוק ולאחר מכן הועבר ל-Apache כפרויקט קוד פתוח. Hive בנוי על גבי MapReduce והוא מאפשר
לעשות פעילויות של data warehouse כמו ETL (ראשי תיבות של Extract, Transform, Load שזהו תהליך
של העברת מידע מ-DB אחד לאחר), data summarization (תהליך שנותן
מידע כללי על ה-data), שאילתות
ואנליזות. Hive מאפשר גישה לקבצים
ששמורים ב-HDFS ו-HBase ועובד רק עם structured data.
Hive מייצר את ה-DB והטבלאות ולאחר מכן מכניס
לתוכם את ה-data כדי לאפשר
ניהול ושאילתות על structured data.
ב-Hive יש שפה
שדומה ל-SQL ונקראת HiveQL שמאפשרת הרצת שאילתות על big-data. יש לו ממשק
command-line שאפשר
להשתמש בו בשביל שאילתות ויצירת טבלאות.
מאחורי הקלעים Hive engine ממיר את השאילתות שנכתבו ב-HiveQL ל-MapReduce כדי להריץ
אותם על Hadoop.
Hive בנוי משני
חלקים:
HCatalog – מנהל את
האיחסון ואת הטבלאות. הוא משמש כגשר בין כלי העיבוד לבין הנתונים, כך שהוא מאפשר
למשתמשים בכלים אחרים כמו MapReduce או Pig לכתוב ולקרוא נתונים.
WebHCat – מספק service שמאפשר הרצת Jobs של Hadoop, YARN, Pig, Hive או פעולות
של Hive
metadata ע"י ממשק REST.
Apache Pig
נבנה ע"י Yahoo ולאחר מכן הועבר ל-Apache כפרויקט קוד פתוח. Pig מאפשר שימוש בשפה שהיא high level עבור
אנליזות של Big
data. הוא מאפשר כתיבה של אנליזות בשפה יחסית קלה בלי הצורך להשתמש
ישירות ב-MapReduce שהוא יחסית
מורכב.
Pig בנוי על גבי
Apache Hadoop
YARN ומשתמש ב-MapReduce ו-HDFS. הוא מורכב משני חלקים:
Pig Latin – שזו השפה
לכתיבת סקריפטים. היא בנויה מרצף של פעולות וטרנספורמציות שנעשות על הנתונים כדי
לקבל את הפלט הדרוש. ניתן גם להרחיב את הסקריפט ע"י כתיבת פונקציות ב-Java, Python, Ruby ושפות
סקריפט נוספות, ולקרוא להם ישירות מ-Pig Latin.
Runtime
Environment – שכולל parser, optimizer, קומפיילר ומנוע הרצה. הוא
ממיר סקריפטים של Pig ל-MapReduce jobs ומריץ אותם
על Hadoop
MapReduce engine.
ל-Pig יש שתי
צורות הפעלה:
Local mode – ריצה על גבי JVM יחיד ושימוש במערכת הקבצים המקומית. שיטה זו
מתאימה לריצה על כמויות מידע קטנות יחסית.
MapReduce mode – השאילתות
מתורגמות ל-
MapReduce jobs ורצות על Hadoop cluster. שיטה זו
מתאימה לריצה על כמויות מידע גדולות.
מקובל להשתמש ב-Hive ו-Pig יחד, כאשר Pig מכין את המידע לשאילתות, ו-Hive מבצע את השאילתות.
אם אהבתם, תכתבו משהו למטה...
אין תגובות:
הוסף רשומת תגובה