Īss ievads Apache Hive and Pig

Autors: Eugene Taylor
Radīšanas Datums: 8 Augusts 2021
Atjaunināšanas Datums: 20 Jūnijs 2024
Anonim
Introduction to Amazon Web Services by Leo Zhadanovsky
Video: Introduction to Amazon Web Services by Leo Zhadanovsky


Avots: Tsekhmister / Dreamstime.com

Izņemšana:

Gan strops, gan cūka nodrošina augstāku abstrakcijas līmeni nekā MapReduce, taču starp tiem ir dažas galvenās atšķirības, kas izstrādātājiem būtu jāzina.

Apache Hive ir sistēma, kas atrodas virs Hadoop, lai veiktu ad-hoc vaicājumus par Hadoop datiem. Hive atbalsta HiveQL, kas ir līdzīgs SQL, bet neatbalsta pilnīgas SQL konstrukcijas.

Hive slēpj HiveQL vaicājumu Java MapReduce programmā un pēc tam iesniedz to Hadoop klasterim. To pašu rezultātu var sasniegt, izmantojot HiveQL un Java MapReduce, bet, izmantojot Java MapReduce, būs nepieciešams daudz koda uzrakstīšana / atkļūdošana, salīdzinot ar HiveQL. Tātad, HiveQL palielina izstrādātāju produktivitāti.

Rezumējot, Hive, izmantojot HiveQL valodu, nodrošina augstāka līmeņa abstrakciju, izmantojot Java MapReduce programmēšanu. Tāpat kā ar jebkuru citu augsta līmeņa abstrakciju, HiveQL, salīdzinot ar Java MapReduce, ir nedaudz veiktspējas, taču Hive kopiena strādā, lai mazinātu šo plaisu lielākajā daļā parasti izmantoto scenāriju.

Tajā pašā rindā Pig nodrošina augstāku abstrakcijas līmeni nekā MapReduce. Pig atbalsta PigLatin konstrukcijas, kuras tiek pārveidotas Java MapReduce programmā un pēc tam iesniegtas Hadoop klasterī.





Kamēr HiveQL ir deklaratīva valoda, piemēram, SQL, PigLatin ir datu plūsmas valoda. Vienas PigLatin konstrukcijas izvadi var nosūtīt kā ievadi citai PigLatin konstrukcijai utt.

Pēc kāda laika Kloudera publicēja statistiku par darba slodzes raksturu tipiskā Hadoop klasterī, un ir viegli novērot, ka Cūku un stropu darbi veido lielu daļu Hadoop klastera darbu. Sakarā ar augstāku izstrādātāju produktivitāti, daudzi uzņēmumi izvēlas augstākas līmeņa kopsavilkumus, piemēram, Pig and Hive. Tātad, mēs varam saderēt, ka, salīdzinot ar MapReduce attīstību, stropā un cūkā būs daudz darba vietu.



Lai arī grāmata Programming Pig tika izdota 2011. gada oktobrī, Programming Hive grāmata tika publicēta nesen, 2012. gada oktobrī. Tiem, kuriem ir pieredze darbā ar RDBMS, labāks risinājums būtu sākt ar Hive, nekā sākt ar Pig. Ņemiet vērā arī to, ka PigLatin valodu nav īpaši grūti uzsākt.

Pamata Hadoop klasterim ir caurspīdīgi, vai tiek iesniegts Java MapReduce darbs vai MapReduce darbs, izmantojot Hive un Pig. Tā kā MapReduce darba vietas ir orientētas uz raksturu, arī caur Hive un Pig iesniegtie darbi ir orientēti uz paketi.

Reālā laika reaģēšanas prasībām strops un cūka neatbilst prasībām, jo ​​iepriekš minētais MapReduce darba vietu skaits ir orientēts uz paketi. Cloudera izstrādāja Impala, kuras pamatā ir Dremel (Google publikācija) interaktīviem ad-hoc vaicājumiem virs Hadoop. Impala atbalsta SQL līdzīgus vaicājumus un ir saderīgs ar HiveQL. Tātad visām lietojumprogrammām, kas ir izveidotas virs Hive, Impala jādarbojas ar minimālām izmaiņām. Galvenā atšķirība starp Hive un Impala ir tā, ka, kamēr HiveQL tiek pārveidots Java MapReduce darbos, Impala SQL vaicājumu neslēpj Java MapReduce darbos.

Vai jums vajadzētu doties ar cūku vai stropu pēc kādas noteiktas prasības? Šī ir cita emuāra tēma.

Pārpublicēts ar Praveen Sripati atļauju. Raksta oriģināls atrodams šeit: http://www.thecloudavenue.com/2012/12/introduction-to-apache-hive-and-pig.html