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 Pig | Apache-pesä | |
Tietojenkäsittely | Apache Pig on korkean tason tiedonkulun kieli | Apache-pesää käytetään eräkäsittelyyn, ts. Online analytical Processing (OLAP) |
Käsittelynopeus | Apache Pigillä on pidempi viive, koska MapReduce-työ suoritetaan taustalla | Apache Hivellä on myös pidempi viive, koska MapReduce-työ suoritetaan taustalla |
Yhteensopivuus Hadoopin kanssa | Apache 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 kieli | Apache Pig käyttää prosessuaalista tiedonkulkukieltä nimeltään Pig Latin | Apache Hive käyttää deklaratiivista kieltä nimeltään HiveQL |
kaavio | Apache 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öä |
toiminnot | Apache Pig -sovellusta käytetään strukturoituun ja puolirakenteiseen dataan | Apache-pesää käytetään strukturoituun dataan. |
Käyttäjän määrittely | Apache Pigiä käyttävät tutkijat ja ohjelmoijat | Data-analyytikko käyttää Apache-pesää |
Toimii päällä | Apache Pig toimii klusterin asiakaspuolella | Apache-pesä toimii klusterin palvelinpuolella |
Jakamismenetelmät | Apache Pigissä ei ole käsitettä Osiointi | Apache Hive tukee Sharding-ominaisuuksia |
Tiedosto muoto | Apache Pig Tukee Avron tiedostomuotoa | Apache-pesä ei tue suoraan Avro-muotoa, mutta voi tukea ”org.apache.hadoop.hive.serde2.avro” |
JDBC / ODBC | Apache Pig ei tue | Apache-pesää tukee, mutta rajoitetusti |
virheenkorjaus | Pig-komentosarjojen vianmääritys on helppoa | Voimme 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 -
- Hadoopin kehittäjähaastattelu Kysymykset
- Hadoop vs. pesää
- Kuinka murtaa Hadoopin kehittäjähaastattelu?
- Apache Hive vs. Apache HBase
- Apache Hadoop vs Apache Spark