Diferența dintre Apache Pig și Apache Hive

Povestea Apache Pig începe în anul 2006, când cercetătorul ca Yahoo se lupta cu codurile Java MapReduce. A fost dificil să reutilizați și să mențineți codul pentru compilare. În același timp, ei au observat că utilizatorii MapReduce nu erau confortabili cu limbaje declarative precum SQL. Au început să lucreze la un limbaj nou care trebuia să se încadreze într-un loc dulce între stilul declarativ al SQL, nivelul redus și stilul procedural al MapReduce. Acest lucru a dus la nașterea Pig și prima lansare a Pig a venit în septembrie 2008, iar până la sfârșitul anului 2009, aproximativ jumătate din locurile de muncă de la Yahoo erau locuri de muncă Pig.

Povestea Apache Hive începe în anul 2007, când programatorul non-Java trebuie să se lupte în timp ce utilizează Hadoop MapReduce. Profesioniști IT din mediul de bază s-au confruntat cu provocări pentru a lucra la Hadoop Cluster. Inițial, cercetătorii, care lucrau pe Facebook, au venit cu limbajul Hive. Acest limbaj era foarte asemănător cu limbajul SQL. Astfel, limbajul a fost numit Hive Query Language (HQL) și mai târziu devine proiect al comunității Apache open source. După ce a devenit proiectul comunității Apache, a existat o dezvoltare majoră în Apache Hive. Facebook a fost prima companie care a venit cu Apache Hive.

Permiteți-mi să explic despre Apache Pig vs Apache Hive în mai multe detalii.

Prezentare Apache Pig vs Apache Hive

Apache Pig este o platformă pentru analizarea seturilor de date mari care constă dintr-un limbaj la nivel înalt pentru exprimarea programelor de analiză a datelor, împreună cu infrastructura pentru evaluarea acestor programe. Apache este un proiect open source al comunității Apache. Apache Pig oferă un limbaj simplu numit Pig Latin, pentru interogări și manipulare de date.

Pig este utilizat de companii precum Yahoo, Google și Microsoft pentru colectarea unor cantități uriașe de seturi de date sub forma fluxurilor de clicuri, a jurnalelor de căutare și a accesărilor web.

  • Apache Pig oferă tipuri de date cuibărite, cum ar fi hărți, tupluri și saci
  • Apache Pig urmărește abordarea multi-interogare pentru a evita mai multe scanări ale seturilor de date.
  • Programatorii familiarizați cu limbajul de script preferă Apache Pig
  • Porcul este ușor dacă știți bine SQL
  • Nu este nevoie să creați o schemă pentru a lucra la Apache Pig
  • Pig oferă, de asemenea, asistență pentru operațiuni majore de date, cum ar fi Comandare, Filtre și Joins
  • Cadrul Apache Pig traduce Latin Pig în secvențe de programe MapReduce

Software-ul de stocare de date Apache Hive facilitează citirea, scrierea și gestionarea seturilor de date mari care se află în stocarea distribuită folosind SQL. Apache Hive este un proiect open-source Apache construit pe partea de sus a Hadoop pentru interogarea, rezumarea și analizarea seturilor de date mari folosind o interfață asemănătoare SQL. Apache Hive furnizează un limbaj asemănător SQL numit HiveQL, care transformă în mod transparent interogările în MapReduce pentru executare pe seturi de date mari stocate în Sistemul de fișiere distribuit Hadoop (HDFS).

  • Apache Hive este o infrastructură de depozit de date.
  • Apache Hive este un instrument ETL (Extracție-Transformare-Încărcare)
  • Stupul Apache este similar cu SQL
  • Apache Hive permite mapatoare și reductoare personalizate
  • Apache Hive crește flexibilitatea designului schemei folosind serializarea și deserializarea datelor
  • Apache stup este un instrument analitic

Comparație față în față între Apache Pig și Apache Hive (Infografie):

Diferențele cheie între Apache Pig și Apache Hive:

  • Porcul Apache este mai rapid comparativ cu Apache Hive
  • Apache Pig și Apache Hive se execută pe Hadoop MapReduce
  • Apache Pig este cel mai bun pentru structurat și semi-structurat, în timp ce Apache Hive este cel mai bun pentru datele structurate
  • Apache Pig este un limbaj procedural, în timp ce Apache Hive este un limbaj declarativ
  • Apache Pig acceptă funcția cogroup pentru îmbinările exterioare, în timp ce Apache Hive nu acceptă
  • Apache Pig nu are o bază de date predefinită pentru a stoca tabelă / schemă în timp ce Apache Hive are tabele / schemă predefinite și își stochează informațiile într-o bază de date.
  • Apache Pig este de asemenea potrivit pentru structura de date complexă și cuibărită, în timp ce Apache Hive este mai puțin potrivită pentru datele complexe
  • Cercetătorii și programatorii folosesc porcul Apache în timp ce analiștii de date folosesc Apache Hive
Când se utilizează Apache Pig:
  • Când sunteți programator și cunoașteți limbajul de script
  • Când nu doriți să creați o schemă în timpul încărcării
  • Cerințe ETL
  • Când lucrați la partea clientului a clusterului Hadoop
  • Când lucrați la formatul de fișier Avro Hadoop
Când se utilizează Apache Hive:
  • Cerințe de depozitare a datelor
  • Întrebări analitice ale datelor istorice
  • Analiza datelor care este familiarizată cu SQL
  • În timp ce lucrează la date structurate
  • De către analiștii de date
  • Pentru a vizualiza și crea rapoarte

Tabelul de comparare Apache Pig vs Apache Hive

Discut despre artefacte majore și disting între Apache Pig și Apache Hive.

Porcul ApacheApache Hive
Procesarea datelorApache Pig este un limbaj de înalt nivel al fluxului de dateApache Hive este utilizat pentru procesarea loturilor, adică prelucrarea analitică online (OLAP)
Viteză de procesareApache Pig are o latență mai mare din cauza executării MapReduce job în fundalApache Hive are, de asemenea, latență mai mare din cauza executării jobului MapReduce în fundal
Compatibilitatea cu HadoopApache Pig rulează pe mapReduceApache Hive rulează de asemenea în topul MapReduce
DefinițieApache Pig este un sistem de flux de date la nivel înalt, open source, care vă oferă o platformă de limbaj simplă cunoscută în mod corespunzător sub denumirea de Pig Latin, care poate fi folosită pentru manipularea datelor și a interogărilor.Apache Hive este open source și similar cu SQL utilizat pentru interogări analitice
Limba folosităApache Pig folosește un limbaj procedural de flux de date numit Latin PigApache Hive folosește un limbaj declarativ numit HiveQL
SchemăApache Pig nu are un concept de schemă. Puteți stoca date într-un alias.Apache Hive acceptă Schema pentru introducerea datelor în tabele
Interfață WebApache Pig nu acceptă interfața webApache Hive acceptă interfața web
OperațiuniApache Pig este utilizat pentru date structurate și semi-structurateApache Hive este utilizat pentru date structurate.
Specificații utilizatorPorcul Apache este folosit de cercetători și programatoriApache Hive este utilizat de Data Analyst
Funcționează activatApache Pig operează pe partea Clientului a clusteruluiApache stup funcționează pe partea serverului Cluster
Metode de partițieÎn Apache Pig nu există niciun concept de PartitionApache Hive acceptă funcțiile Sharding
Tipul fisieruluiApache Pig acceptă formatul de fișier AvroApache stup nu acceptă direct formatul Avro, dar poate fi acceptat folosind „org.apache.hadoop.hive.serde2.avro”
JDBC / ODBCApache Pig nu acceptăApache este acceptat, dar este limitat
debuggingEste ușor să depanați scripturile PigPutem depana, dar este puțin complex

Concluzie - Între Apache Pig și Apache Hive:

Apache Pig și Apache Hive, ambele sunt utilizate în mod obișnuit pe clusterul Hadoop. Atât Apache Pig, cât și Apache Hive sunt un instrument puternic pentru analiza datelor și ETL. Apache Pig și Apache Hive sunt utilizate mai ales în mediul de producție. Un utilizator trebuie să selecteze un instrument pe baza tipurilor de date și a ieșirii preconizate. Ambele instrumente oferă un mod unic de analiză a datelor Big pe clusterul Hadoop. Pe baza discuțiilor de mai sus, utilizatorul poate alege între Apache Pig și Apache Hive pentru cerința sa.

Articol recomandat

Acesta a fost un ghid pentru Apache Pig vs Apache Hive, semnificația lor, comparația dintre cap și cap, diferențele cheie, tabelul de comparare și concluzii. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Interviu pentru dezvoltatorul Hadoop Întrebări
  2. Hadoop vs Hive
  3. Cum să spargi interviul dezvoltatorului Hadoop?
  4. Apache Hive vs Apache HBase
  5. Apache Hadoop vs Apache Spark

Categorie: