היווע איז אַ וויידלי געוויינט ביג דאַטאַ אַנאַליטיקס געצייַג אין דעם געשעפט, און עס איז אַ פאַנטאַסטיש אָרט צו אָנהייבן אויב איר זענט נייַ מיט ביג דאַטאַ. דעם Apache Hive לעקציע גייט דורך די פאַנדאַמענטאַלז פון Apache Hive, וואָס אַ כייוו איז נייטיק, די פֿעיִקייטן און אַלץ איר זאָל וויסן.
זאל ס ערשטער פֿאַרשטיין די Hadoop פריימווערק אויף וואָס Apache Hive איז געבויט אויף.
אַפּאַטשי האַדאָאָפּ
Apache Hadoop איז אַ פריי און עפענען-מקור פּלאַטפאָרמע פֿאַר סטאָרינג און פּראַסעסינג גרויס דאַטאַסעץ ריינדזשינג אין גרייס פון גיגאבייט צו פּעטאַביטעס. Hadoop אַלאַוז פילע קאָמפּיוטערס צו אַנאַלייז ריזיק דאַטאַסעץ אין פּאַראַלעל, אלא ווי אַ איין גרויס קאָמפּיוטער צו קראָם און אַנאַלייז די דאַטן.
MapReduce און Hadoop דיסטריביוטיד טעקע סיסטעם זענען צוויי פון די קאַמפּאָונאַנץ:
- MapReduce - MapReduce איז אַ פּאַראַלעל פּראָגראַממינג טעכניק פֿאַר האַנדלינג ריזיק וואַליומז פון אָרגאַניזירט, האַלב-סטראַקטשערד און אַנסטראַקטשערד דאַטן אויף סכוירע ייַזנוואַרג קלאַסטערז.
- הדפס - HDFS (Hadoop Distributed File System) איז אַ Hadoop פריימווערק קאָמפּאָנענט וואָס סטאָרז און פּראַסעסאַז דאַטן. עס איז אַ שולד-טאָלעראַנט טעקע סיסטעם וואָס לויפט אויף נאָרמאַל ייַזנוואַרג
פאַרשידענע סאַב-פּראַדזשעקס (מכשירים) אין די Hadoop יקאָוסיסטאַם, אַרייַנגערעכנט Sqoop, Pig און Hive, זענען געניצט צו העלפן Hadoop מאַדזשולז.
- היווע - היווע איז אַ פריימווערק פֿאַר שרייבן SQL-נוסח סקריפּס וואָס דורכפירן MapReduce קאַמפּיאַטיישאַנז.
- כאַזער - חזיר איז אַ פּראַסידזשעראַל פּראָגראַממינג שפּראַך וואָס קען זיין גענוצט צו שאַפֿן אַ שריפט פֿאַר מאַפּרעדוסע פּראַסעסאַז.
- סקופּ - Sqoop איז אַ געצייַג פֿאַר ימפּאָרטינג און עקספּאָרטינג דאַטן צווישן HDFS און RDBMS.
וואָס איז אַפּאַטשי היווע?
Apache Hive איז אַן אָפֿן מקור data warehouse פּראָגראַם פֿאַר לייענען, שרייבן און אָנפירונג ריזיק דאַטן שטעלט סטאָרד גלייַך אין די Apache Hadoop Distributed File System (HDFS) אָדער אנדערע דאַטן סטאָרידזש סיסטעמען ווי Apache HBase.
SQL דעוועלאָפּערס קענען נוצן Hive צו שאַפֿן Hive Query Language (HQL) סטייטמאַנץ פֿאַר דאַטן אָנפֿרעג און אַנאַליסיס וואָס זענען פאַרגלייַכלעך מיט רעגולער SQL סטייטמאַנץ. עס איז געווען באשאפן צו מאַכן MapReduce פּראָגראַממינג גרינגער דורך ילימאַנייטינג די נויט צו לערנען און שרייַבן לאַנג ז'אבא קאָד. אַנשטאָט, איר קענט שרייַבן דיין פֿראגן אין HQL, און Hive וועט בויען די מאַפּע און רעדוצירן די פאַנגקשאַנז פֿאַר איר.
די SQL-ווי צובינד פון Apache Hive איז געווארן דער גאָלד סטאַנדאַרד פֿאַר פּערפאָרמינג אַד-האָק אָנפֿרעגן, סאַמערייזינג און אַנאַלייזינג Hadoop דאַטן. ווען אַרייַנגערעכנט אין וואָלקן קאַמפּיוטינג נעטוואָרקס, דעם לייזונג איז ספּעציעל קאָס-עפעקטיוו און סקאַלאַבלע, וואָס איז וואָס פילע פירמס, אַרייַנגערעכנט Netflix און Amazon, פאָרזעצן צו אַנטוויקלען און פֿאַרבעסערן אַפּאַטשי היווע.
געשיכטע
בעשאַס זייער צייט אין פאַסעבאָאָק, Joydeep Sen Sarma און Ashish Thusoo האָבן באשאפן אַפּאַטשי היווע. זיי ביידע דערקענט אַז צו באַקומען די מערסט אויס פון Hadoop, זיי וואָלט האָבן צו מאַכן עטלעכע גאַנץ קאָמפּליצירט Java Map-Reduce טאַסקס. זיי האָבן דערקענט אַז זיי וועלן נישט קענען צו דערציען זייער ראַפּאַדלי יקספּאַנדינג ינזשעניעריע און אַנאַליסיס טימז אויף די סקילז זיי וואָלט דאַרפֿן צו לעווערידזש Hadoop אַריבער די פירמע. ענדזשאַנירז און אַנאַליס אָפט געניצט SQL ווי אַ באַניצער צובינד.
כאָטש SQL קען טרעפן די מערהייט פון אַנאַליטיקס דאַרף, די דעוועלאָפּערס אויך בדעה צו ינקאָרפּערייט Hadoop ס פּראָגראַממאַביליטי. Apache Hive איז אויפגעשטאנען פון די צוויי אַבדזשעקטיווז: אַ SQL-באזירט דעקלאַראַטיווע שפּראַך וואָס אויך ענייבאַלד דעוועלאָפּערס צו ברענגען אין זייער אייגענע סקריפּס און מגילה ווען SQL איז נישט גענוג.
עס איז אויך דעוועלאָפּעד צו האַלטן סענטראַלייזד מעטאַדאַטאַ (Hadoop-באזירט) וועגן אַלע די דאַטאַסעץ אין די פירמע צו מאַכן די קאַנסטראַקשאַן פון דאַטן-געטריבן אָרגאַנאַזיישאַנז גרינגער.
ווי אַזוי אַרבעט Apache Hive?
אין אַ נאַטשעל, Apache Hive קאַנווערץ אַן אַרייַנשרייַב פּראָגראַם געשריבן אין די HiveQL (SQL-ווי) שפּראַך אין איין אָדער מער Java MapReduce, Tez אָדער Spark טאַסקס. (אַלע פון די דורכפירונג ענדזשאַנז זענען קאַמפּאַטאַבאַל מיט Hadoop YARN.) נאָך דעם, Apache Hive עריינדזשיז די דאַטן אין טישן פֿאַר די Hadoop דיסטריביוטיד טעקע סיסטעם HDFS) און פּערפאָרמז די טאַסקס אויף אַ קנויל צו באַקומען אַן ענטפער.
דאַטע
די אַפּאַטשי היווע טישן זענען עריינדזשד אין די זעלבע וועג ווי טישן אין אַ ריליישאַנאַל דאַטאַבייס זענען אָרגאַניזירט, מיט דאַטן וניץ ריינדזשינג אין גרייס פון ביגער צו קלענערער. דאַטאַבייסיז זענען געמאכט פון טישן וואָס זענען צעטיילט אין דיוויזשאַנז, וואָס זענען ווייַטער צעטיילט אין עמערז. HiveQL (Hive Query Language) איז געניצט צו אַקסעס די דאַטן, וואָס קענען זיין אָלטערד אָדער אַפּפּענדעד. טיש דאַטן זענען סיריאַלייזד אין יעדער דאַטאַבייס, און יעדער טיש האט זיין אייגענע HDFS וועגווייַזער.
אַרטשיטעקטורע
איצט מיר וועלן רעדן וועגן די מערסט וויכטיק אַספּעקט פון היווע אַרטשיטעקטורע. די קאַמפּאָונאַנץ פון Apache Hive זענען ווי גייט:
מעטאַסטאָרע - עס האלט אינפֿאָרמאַציע וועגן יעדער טיש, אַזאַ ווי זייַן סטרוקטור און אָרט. די צעטיילונג מעטאַדאַטאַ איז אויך אַרייַנגערעכנט אין היווע. דאָס אַלאַוז דער שאָפער צו האַלטן שפּור פון די פּראָגרעס פון פאַרשידענע דאַטן שטעלט פאַרשפּרייטן איבער די קנויל. די דאַטן זענען סטאָרד אין אַ קאַנווענשאַנאַל RDBMS פֿאָרמאַט. היווע מעטאַדאַטאַ איז גאָר וויכטיק פֿאַר דער שאָפער צו האַלטן שפּור פון די דאַטן. די באַקאַפּ סערווער דופּליקאַט דאַטן אויף אַ רעגולער יקער אַזוי אַז עס קען זיין ריקאַווערד אין די געשעעניש פון דאַטן אָנווער.
שאָפער - HiveQL סטייטמאַנץ זענען באקומען דורך אַ שאָפער, וואָס פאַנגקשאַנז ווי אַ קאָנטראָללער. דורך גרינדן סעשאַנז, דער שאָפער ינישיאַץ די דורכפירונג פון די דערקלערונג. עס האלט שפּור פון די עקסעקוטיווע ס לעבן און פּראָגרעס. בעשאַס די דורכפירונג פון אַ HiveQL ויסזאָגונג, דער שאָפער סאַוועס די פארלאנגט מעטאַדאַטאַ. עס אויך סערוועס ווי אַ דאַטן אָדער אָנפֿרעג רעזולטאַט קאַלעקטינג פונט נאָך די רעדוסע פּראָצעס.
קאַמפּיילער - עס עקסאַקיוץ די HiveQL אָנפֿרעג זאַמלונג. די אָנפֿרעג איז איצט קאָנווערטעד צו אַ דורכפירונג פּלאַן. די טאַסקס זענען ליסטעד אין די פּלאַן. עס אויך כולל די סטעפּס וואָס MapReduce מוזן נעמען צו באַקומען די רעזולטאַט ווי איבערגעזעצט דורך די אָנפֿרעג. די אָנפֿרעג איז קאָנווערטעד צו אַ אַבסטראַקט סינטאַקס טרי דורך היווע ס קאַמפּיילער (AST). קאַנווערץ די AST צו אַ דירעקטעד אַסיקליק גראַפיק נאָך קאָנטראָלירונג פֿאַר קאַמפּאַטאַבילאַטי און קאַמפּיילינג צייט חסרונות (DAG).
אָפּטימיזער - עס אָפּטימיזעס DAG דורך דורכפירן פאַרשידענע ענדערונגען אין די דורכפירונג פּלאַן. עס קאַמביינז טראַנספערמיישאַנז פֿאַר ימפּרוווד עפעקטיווקייַט, אַזאַ ווי טורנינג אַ רערנ - ליניע פון דזשוינץ אין אַ איין פאַרבינדן. צו פֿאַרבעסערן די גיכקייַט, די אָפּטימיזער קען צעטיילן אַקטיוויטעטן, אַזאַ ווי אַפּלייינג אַ טראַנספאָרמאַציע צו דאַטן איידער דורכפירן אַ רעדוקציע אָפּעראַציע.
עקסעקוטאָר - דער עקסאַקיוטער לויפט די טאַסקס ווען די זאַמלונג און אַפּטאַמאַזיישאַן איז פאַרטיק. די דזשאָבס זענען פּייפּלינד דורך די עקסעקוטאָר.
CLI, וי און טריפט סערווירער - די באַפֿעלן שורה צובינד (CLI) איז אַ באַניצער צובינד וואָס אַלאַוז אַ פונדרויסנדיק באַניצער צו יבערגעבן מיט היווע. היווע ס טריפט סערווער, ענלעך צו די JDBC אָדער ODBC פּראָטאָקאָלס, אַלאַוז פונדרויסנדיק קלייאַנץ צו יבערגעבן מיט היווע דורך אַ נעץ.
זיכערהייַט
Apache Hive איז ינאַגרייטיד מיט Hadoop זיכערהייט, וואָס ניצט Kerberos פֿאַר קעגנצייַטיק אָטענטאַקיישאַן פון קליענט-סערווער. די HDFS דיקטייץ פּערמישאַנז פֿאַר ניי דזשענערייטאַד טעקעס אין Apache Hive, אַלאַוינג איר צו אַפּרווו דורך די באַניצער, גרופּע און אנדערע.
שליסל פֿעיִקייטן
- היווע שטיצט פונדרויסנדיק טישן, וואָס לאָזן איר פּראָצעס דאַטן אָן סטאָרינג עס אין HDFS.
- עס אויך ינייבאַלז דאַטן סעגמאַנטיישאַן אויף די טיש מדרגה צו פאַרגרעסערן גיכקייַט.
- Apache Hive טרעפן די נויט פֿאַר די נידעריק-מדרגה צובינד פון Hadoop.
- היווע מאכט דאַטן סאַמעריזיישאַן, קווערינג און אַנאַליסיס גרינגער.
- HiveQL דאַרף קיין פּראָגראַממינג סקילז; אַ פּשוט פארשטאנד פון SQL קוויריז איז גענוג.
- מיר קענען אויך נוצן Hive צו פירן אַד-האָק פֿראגן פֿאַר דאַטן אַנאַליסיס.
- עס איז סקאַלאַבלע, באַקאַנט און אַדאַפּטאַבאַל.
- HiveQL דאַרף קיין פּראָגראַממינג סקילז; אַ פּשוט פארשטאנד פון SQL קוויריז איז גענוג.
בענעפיץ
Apache Hive אַלאַוז פֿאַר סוף-פון-טאָג ריפּאָרץ, טעגלעך טראַנסאַקטיאָן יוואַליויישאַנז, אַד-האָק אָנפֿרעגן און דאַטן אַנאַליסיס. די פולשטענדיק ינסייץ צוגעשטעלט דורך Apache Hive געבן באַטייטיק קאַמפּעטיטיוו אַדוואַנטידזשיז און מאַכן עס גרינגער פֿאַר איר צו ריספּאַנד צו מאַרק פאדערונגען.
דאָ זענען עטלעכע פון די בענעפיץ פון אַזאַ אינפֿאָרמאַציע בנימצא:
- יז פון נוצן - מיט זיין סקל-ווי שפּראַך, קווערינג דאַטן איז פּשוט צו פֿאַרשטיין.
- אַקסעלערייטיד דאַטן ינסערשאַן - ווייַל Apache Hive לייענט די סטשעמאַ אָן וועראַפייינג די טיש טיפּ אָדער סטשעמאַ דעפֿיניציע, דאַטן טאָן ניט האָבן צו לייענען, פּאַרסעד און סיריאַליזעד צו דיסק אין די ינערלעך פֿאָרמאַט פון די דאַטאַבייס. אין קאַנטראַסט, אין אַ קאַנווענשאַנאַל דאַטאַבייס, דאַטן מוזן זיין וואַלאַדייטאַד יעדער מאָל עס איז צוגעגעבן.
- העכער סקאַלאַביליטי, בייגיקייט און קאָס-יפעקטיוונאַס - ווייַל דאַטן זענען סטאָרד אין די HDFS, Apache Hive קענען האַלטן 100 ס פון פּעטאַביטעס פון דאַטן, וואָס מאכט עס אַ פיל מער סקאַלאַבלע אָפּציע ווי אַ טיפּיש דאַטאַבייס. Apache Hive, ווי אַ וואָלקן-באזירט Hadoop דינסט, אַלאַוז קאַסטאַמערז צו געשווינד ומדריי אַרויף און אַראָפּ ווירטואַל סערווערס צו טרעפן טשאַנגינג ווערקלאָודז.
- ברייט אַרבעט קאַפּאַציטעט - גרויס דאַטאַסעץ קענען פירן אַרויף צו 100,000 פֿראגן פּער שעה.
לימיטאַטיאָנס
- אין אַלגעמיין, Apache Hive פֿראגן האָבן אַ זייער הויך לייטאַנסי.
- סובקווערי שטיצן איז לימיטעד.
- פאַקטיש-צייט פֿראגן און ענדערונגען אין רודערן זענען נישט בארעכטיגט אין Apache Hive.
- עס איז קיין שטיצן פֿאַר מאַטיריאַלייזד קוקן.
- אין די כייוו, דערהייַנטיקן און ויסמעקן אַקשאַנז זענען נישט געשטיצט.
- ניט בדעה פֿאַר OLTP (אָנליין טראַנזישאַנאַל פּראָצעס).
אָנהייבן מיט Apache Hive
Apache Hive איז אַ שטאַרק Hadoop שוטעף וואָס סימפּלאַפייז און סטרימליינז דיין וואָרקפלאָוז. צו באַקומען די מערסט אויס פון Apache Hive, סימלאַס ינאַגריישאַן איז יקערדיק. דער ערשטער שריט איז צו גיין צו די וועבזייַטל.
1. ינסטאַללאַטיאָן היווע פֿון אַ סטאַביל מעלדונג
אָנהייב דורך דאַונלאָודינג די לעצטע סטאַביל מעלדונג פון היווע פֿון איינער פון די Apache אראפקאפיע מירערז (זען היווע ריליסיז). דער טאַרבאָל מוזן דעמאָלט זיין אַנפּאַקט. דאָס וועט מאַכן אַ סובפאָלדער גערופֿן כייוו-קסיז (ווו xyz איז די מעלדונג נומער):
שטעלן די סוויווע בייַטעוודיק HIVE_HOME צו פונט צו די ינסטאַלירונג וועגווייַזער:
צום סוף, לייגן $HIVE_HOME/bin צו דיין PATH
:
2. פליסנדיק היווע
היווע ניצט Hadoop, אַזוי:
- איר מוזן האָבן Hadoop אין דיין וועג אָדער
3. דלל אָפּעראַציע
קריייטינג היווע טיש
דזשענערייץ אַ טיש מיטן נאָמען פּאָקעס מיט צוויי שפאלטן, דער ערשטער פון וואָס איז אַ גאַנץ נומער און דער צווייטער פון וואָס איז אַ שטריקל.
בלעטער דורך טאַבלעס
ליסטינג אַלע די טאַבלעס
ענדערן און דראַפּינג טישן
טיש נעמען קענען זיין טשיינדזשד און שפאלטן קענען זיין מוסיף אָדער ריפּלייסט:
עס איז כדאי צו באמערקן אַז REPLACE COLUMNS ריפּלייסיז אַלע יגזיסטינג שפאלטן בשעת נאָר טשאַנגינג די סטרוקטור פון די טיש און נישט די דאַטן. א געבוירן סערדע מוזן זיין געוויינט אין די טיש. REPLACE COLUMNS קענען אויך זיין געניצט צו באַזייַטיקן שפאלטן פון די סטשעמאַ פון אַ טיש:
דראַפּינג טאַבלעס
עס זענען פילע נאָך אַפּעריישאַנז און פֿעיִקייטן אין Apache Hive וואָס איר קענט לערנען וועגן דורך באַזוכן די באַאַמטער וועבזייטל.
סאָף
היווע דעפֿיניציע איז אַ דאַטן פּראָגראַם צובינד פֿאַר קווערינג און אַנאַליסיס פֿאַר ריזיק דאַטאַסעץ וואָס זענען געבויט אויף שפּיץ פון Apache Hadoop. פּראָפעססיאָנאַלס קלייַבן עס איבער אנדערע מגילה, מכשירים און ווייכווארג ווייַל עס איז דער הויפּט דיזיינד פֿאַר היווע ברייט דאַטן און איז פּשוט צו נוצן.
האָפענונג דעם טוטאָריאַל העלפּס איר קיקסטאַרט מיט Apache Hive און מאַכן דיין וואָרקפלאָוז מער עפעקטיוו. לאָזן אונדז וויסן אין די באַמערקונגען.
לאָזן אַ ענטפֿערן