Itthon Trends Rövid bevezetés a kaptár és a sertés apache-jához

Rövid bevezetés a kaptár és a sertés apache-jához

Anonim

Az Apache Hive egy olyan keret, amely a Hadoop tetején ül ad-hoc kérdések lekérdezéséhez a Hadoopban. A Hive támogatja a HiveQL-t, amely hasonló az SQL-hez, de nem támogatja az SQL teljes konstrukcióit.


A Hive a HiveQL lekérdezést Java MapReduce programba konvertálja, majd elküldi a Hadoop fürtnek. Ugyanez az eredmény érhető el a HiveQL és a Java MapReduce használatával, de a Java MapReduce használatához sok kód írása / hibakeresése szükséges a HiveQL-hez képest. Tehát a HiveQL növeli a fejlesztők termelékenységét.


Összefoglalva: a Hive a HiveQL nyelven keresztül magasabb szintű absztrakciót nyújt a Java MapReduce programozáshoz képest. Mint minden más magas szintű absztrakció esetében, a Java MapReduce-hez képest a HiveQL használatához is tartozik némi teljesítmény-növekedés, ám a Hive közösség azon munkálkodik, hogy ezt a hiányt megszüntesse a legtöbb általánosan használt forgatókönyv esetében.


Ugyanezen vonal mentén a Pig magasabb szintű absztrakciót biztosít a MapReduce felett. A Pig támogatja a PigLatin konstrukciókat, amelyeket a Java MapReduce programba konvertálnak, majd elküldnek a Hadoop fürtre.



Míg a HiveQL deklaratív nyelv, mint például az SQL, a PigLatin egy adatáramlási nyelv. Az egyik PigLatin-konstrukció kimenete bemenőként továbbadható egy másik PigLatin-konstrukcióhoz és így tovább.


Egy idő múlva Cloudera statisztikákat tett közzé a tipikus Hadoop klaszter munkaterhelési karakteréről, és könnyen megfigyelhető, hogy a Pig és Hive jobok nagy részét képezik a Hadoop klaszterben. A fejlesztők magasabb termelékenysége miatt sok vállalat magasabb szintű kivonatokat választott, mint például a Pig és a Hive. Tehát fogadhatunk úgy, hogy a MapReduce fejlesztésével összehasonlítva sok munkahely nyílik a Hive és a Pig körül.



Noha a Programming Pig könyvet 2011 októberében tették közzé, a Programming Hive könyvet nemrégiben, 2012 októberében tették közzé. Azok számára, akiknek tapasztalata van az RDBMS-sel való munkában, jobb lehetőség lenne a Hive-rel való elindulás, mint a Pig-nal való kezdés. Vegye figyelembe azt is, hogy a PigLatin nyelv nem nagyon nehéz az induláshoz.


Az alapul szolgáló Hadoop-fürt esetében átlátható, hogy a Java MapReduce feladatot benyújtják-e, vagy a MapReduce-feladatot a Hive és Pig segítségével nyújtják-e be. A MapReduce job joborientált jellege miatt a Hive és Pig alkalmazáson keresztül benyújtott jobok szintén kötegorientált jellegűek.


A valós idejű válaszkövetelményekhez a Hive és a Pig nem felel meg a követelményeknek, mivel a MapReduce jobok korábban említett kötegelt orientációjúak. A Cloudera kifejlesztette az Impala-t, amely a Dremel (a Google kiadványa) alapú, interaktív ad-hoc lekérdezésekhez a Hadoop tetején. Az Impala támogatja az SQL-szerű lekérdezéseket, és kompatibilis a HiveQL-lel. Tehát minden olyan alkalmazásnak, amely a Hive tetejére épül, minimális változtatásokkal kell működnie az Impala-val. A Hive és az Impala közötti fő különbség az, hogy míg a HiveQL Java MapReduce jobokká konvertálódik, az Impala nem fedezi az SQL lekérdezést Java MapReduce jobokká.


Ha magukhoz képest egy disznóval vagy kaptárral szeretne utazni? Ez egy másik blog témája.


Újra közzétéve a Praveen Sripati engedélyével. Az eredeti cikk itt található: http://www.thecloudavenue.com/2012/12/introduction-to-apache-hive-and-pig.html

Rövid bevezetés a kaptár és a sertés apache-jához