Movatterモバイル変換


[0]ホーム

URL:


לדלג לתוכן
ויקיפדיההאנציקלופדיה החופשית
חיפוש

אפאצ'י הייב

מתוך ויקיפדיה, האנציקלופדיה החופשית
אפאצ'י הייב
Apache Hive
מפתחקרן התוכנה אפאצ'יעריכת הנתון בוויקינתונים
מחזור חיים9 בנובמבר 2011 – הווה (14 שנים)עריכת הנתון בוויקינתונים
גרסה אחרונה3.1.3 (9 באפריל 2022)עריכת הנתון בוויקינתונים
מערכת הפעלהחוצה-פלטפורמותעריכת הנתון בוויקינתונים
נכתבה בשפותג'אווה (שפת תכנות)עריכת הנתון בוויקינתונים
סוג רישיוןאפאצ'י 2.0עריכת הנתון בוויקינתונים
קוד מקור
hive.apache.org
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

אפאצ'י הייב (תרגום:כוורת; באנגלית:Apache Hive) הוא פרויקט תוכנה שלמחסן נתונים שנבנה על גביהאדופ ומאפשר שירותי סיכום נתונים, שאילתות, וניתוחים.[1] הייב נותן ממשק מדמהSQL החושף ממשק לשאילתות על נתונים מאוחסנים על גבי בסיסי נתונים שונים ומערכות קבצים הנמצאים באינטגרציה עם האדופ. שאילתות SQL מסורתית חייבות להיות מיושמות בעזרת ממשק ה JAVA של MapReduce עבור יישומים הדורשים שאילתות על נתונים מבוזרים.

הייב מספק אבסטרקציה של SQL לאינטגרציה של שאילתות עם מאפייני SQL, הנקראHiveQL לתוך שכבת הקוד (Java) ללא צורך למימוש השאילתות בממשק Java. מכיוון שמרבית ממחסני הנתונים משתמשים בשאילתות SQL הייב מאפשר הגירה של אפליקציות לשימוש בהאדופ.[2]

הפיתוח הראשוני היה על ידיפייסבוק, אולם מאוחר יותר נכנס לשימוש ופיתוח על ידי חברות אחרות כגוןנטפליקס וFINRA.[3][4]אמזון מתחזקת ענף של עץ הפיתוח של הייב הכלול בשירותי הרשת שלה,AWS.[5]

דוגמה לשימוש ב HiveQL

[עריכת קוד מקור |עריכה]

תוכנית לספירת מילים ב"פיג"

[עריכת קוד מקור |עריכה]
input_lines=LOAD'/tmp/input.txt'AS(line:chararray);words=FOREACHinput_linesGENERATEFLATTEN(TOKENIZE(line))ASword;filtered_words=FILTERwordsBYwordMATCHES'\\w+';word_groups=GROUPfiltered_wordsBYword;word_count=FOREACHword_groupsGENERATECOUNT(filtered_words)AScount,groupASword;ordered_word_count=ORDERword_countBYcountDESC;STOREordered_word_countINTO'/tmp/results.txt';

תוכנית "ספירת מילים" ב HiveQL

[עריכת קוד מקור |עריכה]

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

DROPTABLEIFEXISTSdocs;CREATETABLEdocs(lineSTRING);LOADDATAINPATH'input'OVERWRITEINTOTABLEdocs;CREATETABLEword_countsASSELECTword,count(1)AScountFROM(SELECTexplode(split(line,'\s'))ASwordFROMdocs)tempGROUPBYwordORDERBYword;

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

טען את הקובץ המפורט או הספרייה (במקרה שלנו "input") לתוך הטבלה.OVERWRITE מציין שטבלת היעד שאליה הנתונים נטענים תיכתב מחדש, אחרת הנתונים יהיה "מתווספים" (appended).

CREATE TABLE word_counts AS SELECT word, count(1) AS count יוצר טבלה בשםword_counts עם שתי עמודות:word וcount. שאילתה זו עובדת על פלט השאילתא הפנימית(SELECT explode(split(line, '\s')) AS word FROM docs) temp". שאילתה זו משמשת כדי לפצל את מילות הקלט לטבלה זמנית המכונהtemp. כאשרGROUP BY WORD מקבץ את התוצאות בהתבסס על המפתחות שלהם. התוצאות של עמודתcount מחזיקה את מספר המופעים של כל מילה בעמודתword. לבסוף,ORDER BY WORDS ממיין את המילים לפי סדר האלף-בית.

קישורים חיצוניים

[עריכת קוד מקור |עריכה]
ויקישיתוף מדיה וקבצים בנושאאפאצ'י הייב בוויקישיתוף

הערות שוליים

[עריכת קוד מקור |עריכה]
  1. ^Venner, Jason (2009).Pro Hadoop.Apress.ISBN 978-1-4302-1942-2.
  2. ^Programming Hive [Book].אורכב מ-המקור ב-2020-02-18. נבדק ב-2017-09-15.
  3. ^Use Case Study of Hive/Hadoop
  4. ^אפאצ'י הייב, בביצוע OSCON Data 2011, Adrian Cockcroft, "Data Flow at Netflix", סרטון באתריוטיוב
  5. ^Amazon Elastic MapReduce Developer Guide
אוחזר מתוך "https://he.wikipedia.org/w/index.php?title=אפאצ%27י_הייב&oldid=34708596"
קטגוריות:
קטגוריה מוסתרת:

[8]ページ先頭

©2009-2025 Movatter.jp