Ero Apache Pig- ja Apache Hive -tuotteiden välillä

Apache Pig -tarina alkaa vuonna 2006, kun tutkijana Yahoo kamppaili MapReduce Java -koodien kanssa. Koodin uudelleenkäyttö ja ylläpito kokoamiseen oli vaikeaa. Samalla he havaitsivat, että MapReduce-käyttäjät eivät olleet tyytyväisiä deklaratiivisiin kieliin, kuten SQL. He alkoivat kehittää uutta kieltä, jonka piti sopia SQL: n deklaratiivisen tyylin, MapReducen alhaisen tason ja menettelytapojen välille. Tämän seurauksena sika syntyi ja sika julkaistiin ensimmäisen kerran syyskuussa 2008, ja vuoden 2009 loppuun mennessä noin puolet Yahoon työpaikoista oli sikatyöpaikkoja.

Apache Hive -tarina alkaa vuonna 2007, kun muiden kuin Java-ohjelmoijien on kamppaileva Hadoop MapReducea käytettäessä. Tietokantataustainen tietotekniikan ammattilainen kohtasi haasteita työskennellä Hadoop Clusterissa. Aluksi Facebookissa työskentelevät tutkijat keksivät pesän kielen. Tämä kieli oli hyvin samanlainen kuin SQL-kieli. Joten kieltä kutsuttiin Hive Query Language (HQL) ja myöhemmin siitä tulee avoimen lähdekoodin Apache-yhteisön projekti. Apache-yhteisöprojektiksi tultuaan Apache-pesässä tapahtui merkittävä kehitys. Facebook oli ensimmäinen yritys, joka keksi Apache Hiven.

Selitän tarkemmin Apache Pig vs Apache Hive -sivustosta.

Esittelyssä Apache Pig vs Apache Hive

Apache Pig on alusta suurten tietojoukkojen analysoimiseksi, ja se koostuu korkean tason kielestä tietojen analysointiohjelmien ilmaisemiseksi yhdessä infrastruktuurin kanssa näiden ohjelmien arvioimiseksi. Apache on Apache-yhteisön avoimen lähdekoodin projekti. Apache Pig tarjoaa yksinkertaisen kielen nimeltä Pig Latin, kyselyihin ja tietojen käsittelyyn.

Siat käytetään Yahoo: n, Google: n ja Microsoftin kaltaisissa yrityksissä keräämään valtavia määriä tietojoukkoja napsautusvirtojen, hakulokien ja web-indeksointien muodossa.

  • Apache Pig tarjoaa sisäkkäisiä tietotyyppejä, kuten Maps, Tuples ja Bags
  • Apache Pig noudattaa monikyselylähestymistapaa, jotta voidaan välttää useita tietokantojen skannauksia.
  • Komentosarjan kieltä tuntevat ohjelmoijat mieluummin Apache Pig -sovellusta
  • Sika on helppoa, jos tunnet hyvin SQL: n
  • Apache Pig -sovelluksen käyttämistä varten ei tarvitse luoda kaavaa
  • Sika tukee myös tärkeitä dataoperaatioita, kuten tilaamista, suodattimia ja liittymiä
  • Apache Pig-kehys kääntää Pig Latin -ohjelman MapReduce-ohjelmien sekvensseiksi

Apache Hive -tietovarasto-ohjelmisto helpottaa hajautetussa muistissa olevien SQL-tietokantojen lukemista, kirjoittamista ja hallintaa. Apache Hive on Apache-avoimen lähdekoodin projekti, joka on rakennettu Hadoopin päälle suurten tietojoukkojen kyselyä, tiivistämistä ja analysointia varten SQL-tyyppisen käyttöliittymän avulla. Apache-pesä tarjoaa SQL-tyyppisen kielen, nimeltään HiveQL, joka muuntaa kyselyt läpinäkyvästi MapReduce -sovellusta varten Hadoopin hajautettuun tiedostojärjestelmään (HDFS) tallennettujen suurten tietojoukkojen suorittamista varten.

  • Apache Hive on tietovarastoinfrastruktuuri.
  • Apache Hive on ETL-työkalu (Extraction-Transformation-Loading)
  • Apache-pesä on samanlainen kuin SQL
  • Apache Hive mahdollistaa räätälöityjen kartoituslaitteiden ja pelkistimien käytön
  • Apache Hive lisää kaavion suunnittelun joustavuutta käyttämällä data-sarjoittelua ja ansialisointia
  • Apache-pesä on analyyttinen työkalu

Head to Head -vertailu Apache Pigin ja Apache Hiven välillä (infografia):

Keskeiset erot Apache Pig vs Apache Hive: n välillä:

  • Apache Pig on nopeampi kuin Apache Hive
  • Apache Pig ja Apache Hive kulkevat molemmat Hadoop MapReducen päällä
  • Apache Pig soveltuu parhaiten rakenteelliseen ja puolirakenteiseen, kun taas Apache Hive on paras strukturoituun tietoon
  • Apache Pig on menettelykieli, kun taas Apache Hive on deklaratiivinen kieli
  • Apache Pig tukee ryhmäominaisuutta ulkoisissa liittymissä, kun Apache Hive ei tue
  • Apache Pigillä ei ole ennalta määritettyä tietokantaa taulukon / skeeman tallentamiseksi, kun taas Apache Hivellä on ennalta määritetyt taulukot / skeema ja se tallentaa tietonsa tietokantaan.
  • Apache Pig soveltuu myös monimutkaiseen ja sisäiseen tietorakenteeseen, kun taas Apache Hive soveltuu vähemmän monimutkaiseen dataan
  • Tutkijat ja ohjelmoijat käyttävät Apache-sikaa, kun taas Data-analyytikot käyttävät Apache-pesää
Milloin Apache Pig -sovellusta käytetään:
  • Kun olet ohjelmoija ja osaat komentosarjojen kieltä
  • Kun et halua luoda kaavaa lataamisen aikana
  • ETL-vaatimukset
  • Kun työskentelet Hadoop-klusterin asiakaspuolella
  • Kun työskentelet Avro Hadoop-tiedostomuodossa
Milloin Apache Hiveä käytetään:
  • Tietovarastointia koskevat vaatimukset
  • Historiallisen tiedon analyyttiset kyselyt
  • Tietojen analysointi, jotka tuntevat SQL: n
  • Työskennellessään jäsennellyn datan parissa
  • Data-analyytikoiden toimesta
  • Visualisoida ja luoda raportteja

Apache Pig vs Apache Hive -vertailutaulukko

Keskustelen tärkeimmistä esineistä ja eron välillä Apache Pig ja Apache Hive.

Apache PigApache-pesä
TietojenkäsittelyApache Pig on korkean tason tiedonkulun kieliApache-pesää käytetään eräkäsittelyyn, ts. Online analytical Processing (OLAP)
KäsittelynopeusApache Pigillä on pidempi viive, koska MapReduce-työ suoritetaan taustallaApache Hivellä on myös pidempi viive, koska MapReduce-työ suoritetaan taustalla
Yhteensopivuus Hadoopin kanssaApache Pig toimii MapReducen päälläApache Hive toimii myös MapReducen päällä
MääritelmäApache Pig on avoimen lähdekoodin korkean tason tiedonkulkujärjestelmä, joka tarjoaa sinulle yksinkertaisen kielikäytön, joka tunnetaan oikein nimellä Pig Latin, jota voidaan käyttää tietojen ja kyselyjen käsittelemiseen.Apache Hive on avoimen lähdekoodin ja samanlainen kuin SQL, jota käytetään analyyttisiin kyselyihin
Käytetty kieliApache Pig käyttää prosessuaalista tiedonkulkukieltä nimeltään Pig LatinApache Hive käyttää deklaratiivista kieltä nimeltään HiveQL
kaavioApache Pigillä ei ole käsitettä kaavasta. Voit tallentaa tietoja aliakseen.Apache-pesä tukee Schemaa tietojen lisäämiseen taulukoihin
Web-käyttöliittymäApache Pig ei tue verkkoliittymääApache Hive tukee verkkokäyttöä
toiminnotApache Pig -sovellusta käytetään strukturoituun ja puolirakenteiseen dataanApache-pesää käytetään strukturoituun dataan.
Käyttäjän määrittelyApache Pigiä käyttävät tutkijat ja ohjelmoijatData-analyytikko käyttää Apache-pesää
Toimii päälläApache Pig toimii klusterin asiakaspuolellaApache-pesä toimii klusterin palvelinpuolella
JakamismenetelmätApache Pigissä ei ole käsitettä OsiointiApache Hive tukee Sharding-ominaisuuksia
Tiedosto muotoApache Pig Tukee Avron tiedostomuotoaApache-pesä ei tue suoraan Avro-muotoa, mutta voi tukea ”org.apache.hadoop.hive.serde2.avro”
JDBC / ODBCApache Pig ei tueApache-pesää tukee, mutta rajoitetusti
virheenkorjausPig-komentosarjojen vianmääritys on helppoaVoimme debug, mutta se on vähän monimutkainen

Päätelmä - Apache Pigin ja Apache Hiven välillä:

Apache Pig ja Apache Hive, molemmat käytetään yleisesti Hadoop-klusterissa. Sekä Apache Pig että Apache Hive on tehokas työkalu tietojen analysointiin ja ETL: ään. Apache Pig ja Apache Hive käytetään enimmäkseen tuotantoympäristössä. Käyttäjän on valittava työkalu tietotyyppien ja odotettavissa olevan tuotoksen perusteella. Molemmat työkalut tarjoavat ainutlaatuisen tavan analysoida Big Data Hadoop-klusterissa. Yllä olevan keskustelun perusteella käyttäjä voi valita vaatimuksistaan ​​Apache Pig ja Apache Hive.

Suositeltava artikkeli

Tämä on opas kohtaan Apache Pig vs Apache Hive, niiden merkitys, Head to Head -vertailu, avainerot, vertailutaulukko ja johtopäätös. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Hadoopin kehittäjähaastattelu Kysymykset
  2. Hadoop vs. pesää
  3. Kuinka murtaa Hadoopin kehittäjähaastattelu?
  4. Apache Hive vs. Apache HBase
  5. Apache Hadoop vs Apache Spark

Luokka: