Domov Trendi Kratek uvod v panj apache in prašiče

Kratek uvod v panj apache in prašiče

Anonim

Apache Hive je okvir, ki sedi na vrhu Hadoop-a za opravljanje ad-hoc poizvedb o podatkih v Hadoopu. Hive podpira HiveQL, ki je podoben SQL, vendar ne podpira celotnih konstrukcij SQL.


Hive pokrije poizvedbo HiveQL v program Java MapReduce in jo nato predloži v skupino Hadoop. Enak rezultat je mogoče doseči z uporabo HiveQL in Java MapReduce, vendar bo za uporabo Java MapReduce potrebno vpisati / odpraviti napako veliko kodo v primerjavi s HiveQL-om. Torej, HiveQL povečuje produktivnost razvijalcev.


Če povzamem, Hive s pomočjo jezika HiveQL ponuja abstrakcijo na višji ravni nad programiranjem Java MapReduce. Kot pri vsaki drugi abstrakciji na visoki ravni je tudi pri HiveQLu v primerjavi z Java MapReduce nekaj velikega učinka, vendar skupnost Hive si prizadeva za zmanjšanje te vrzeli za večino najpogosteje uporabljenih scenarijev.


Po isti črti Pig zagotavlja abstrakcijo na višji ravni nad MapReduce. Pig podpira konstrukcije PigLatin, ki se pretvorijo v program Java MapReduce in nato oddajo v skupino Hadoop.



Medtem ko je HiveQL deklarativni jezik, kot je SQL, je PigLatin jezik pretoka podatkov. Izhod ene konstrukcije PigLatin se lahko pošlje kot vhod drugemu PigLatin konstruktu in tako naprej.


Nekaj ​​časa nazaj je Cloudera objavil statistične podatke o obremenitvi v tipični skupini Hadoop in zlahka je mogoče opaziti, da opravila prašičev in panj predstavljajo dober del delovnih mest v grozdu Hadoop. Zaradi večje produktivnosti razvijalcev se mnoga podjetja odločajo za povzetke višjih ravni, kot sta Svinja in panj. Torej lahko stavimo, da bo v primerjavi z Hive in Pigom veliko odprtih delovnih mest v primerjavi z razvojem MapReduce.



Čeprav je knjiga Programming Pig izšla oktobra 2011, je knjiga Programming Hive izšla pred kratkim, oktobra 2012. Za tiste, ki imajo izkušnje z delom z RDBMS, bi bil začetek s Hivem boljši način kot začetek s Pig. Upoštevajte tudi, da z jezikom PigLatin ni zelo težko začeti.


Za osnovno skupino Hadoop je pregledno, ali je poslano opravilo Java MapReduce ali poslano opravilo MapReduce prek Hive in Pig. Zaradi širok naravnanosti delovnih mest MapReduce so delovna mesta, poslana prek Pive in Pig, tudi po naravi usmerjena.


Za zahteve po odzivu v realnem času Hive in Pig ne izpolnjujejo zahtev zaradi prej omenjenih paketno naravnanih opravil MapReduce. Cloudera je razvila Impala, ki temelji na Dremelu (publikacija iz Googla) za interaktivne ad-hoc poizvedbe na vrhu Hadoopa. Impala podpira poizvedbe, podobne SQL-ju, in je združljiv s HiveQL-om. Torej, vse aplikacije, ki so narejene na vrhu Hivea, bi morale z Impalo delovati z minimalnimi spremembami. Glavna razlika med Hive in Impala je, da HiveQL pretvori v opravila Java MapReduce, Impala SQL poizvedbe ne prikrije v opravila Java MapReduce.


Bi morali iti s prašičem ali panjem zaradi določene zahteve? To je tema za drug blog.


Objavljeno z dovoljenjem Praveen Sripati. Izvirni članek najdete tukaj: http://www.thecloudavenue.com/2012/12/introduction-to-apache-hive-and-pig.html

Kratek uvod v panj apache in prašiče