Ce este Hive în Hadoop? Istoria și componentele sale

Publicat: 2021-10-07

Apache Hive este un sistem de depozitare cu sursă deschisă care este construit pe Hadoop. Hive este folosit pentru interogarea și analiza seturi de date masive stocate în Hadoop. Funcționează prin procesarea atât a datelor structurate, cât și a celor semi-structurate.

Prin acest articol, să vorbim în detaliu despre Hive în Hadoop, istoria sa, importanța sa, arhitectura Hive, câteva caracteristici cheie, câteva limitări și multe altele!

Cuprins

Ce este Hive?

Apache Hive este pur și simplu un software de depozit de date construit folosind Hadoop ca bază. Înainte de Apache Hive, inginerii Big Data trebuiau să scrie joburi complexe de reducere a hărților pentru a efectua sarcini de interogare. Cu Hive, pe de altă parte, lucrurile s-au redus drastic, deoarece inginerii au nevoie doar să cunoască SQL.

Hive funcționează pe un limbaj cunoscut sub numele de HiveQL (asemănător cu SQL), ceea ce face mai ușor pentru inginerii care au cunoștințe de lucru despre SQL. HiveQL traduce automat interogările dvs. SQL în joburi de reducere a hărții pe care Hadoop le poate executa.

Făcând acest lucru, Apache prezintă conceptul de abstractizare în funcționarea Hadoop și permite experților în date să se ocupe de seturi de date complexe fără a învăța limbajul de programare Java pentru lucrul cu Hive. Apache Hive funcționează pe stația dvs. de lucru și convertește interogările SQL în joburi de reducere a hărții pentru a fi executate pe cluster-ul Hadoop. Hive clasifică toate datele dumneavoastră în tabele, oferind astfel o structură tuturor datelor prezente în HDFS.

Istoria Apache Hive

Echipa de infrastructură de date a prezentat Apache Hive la Facebook. Este una dintre tehnologiile care este utilizată în mod proactiv pe Facebook în numeroase scopuri interne. De-a lungul anilor, Apache Hive a rulat mii de joburi pe cluster cu sute de utilizatori pentru o serie de aplicații.

Clusterul Hive-Hadoop de la Facebook stochează mai mult de 3 PB de date brute. Poate încărca zilnic 15 TB de date în timp real. De acolo, Apache Hive a crescut și mai mult în cazurile sale de utilizare, iar astăzi este folosit de giganți precum IBM, Yahoo, Amazon, FINRA, Netflix și alții.

Obțineți certificarea în știința datelor online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

De ce este nevoie de Apache Hive?

Înainte de a veni cu Apache Hive, Facebook s-a confruntat cu multe provocări, cum ar fi dimensiunea din ce în ce mai mare a datelor de analizat și inconsecvența totală a acestui set mare de date. Aceste provocări au îngreunat pentru Facebook să-și gestioneze fără probleme sarcinile care consumau multe date. Structurile tradiționale bazate pe RDBMS nu au fost suficiente pentru a controla presiunea din ce în ce mai mare.

Facebook a introdus mai întâi map-reduce pentru a depăși aceste provocări, dar apoi a simplificat-o și mai mult, oferind Apache Hive, care funcționează pe HiveQL.

În cele din urmă, Apache Hive a apărut ca salvatorul atât de necesar și a ajutat Facebook să depășească diferitele provocări. Acum, folosind Apache Hive, Facebook a reușit să realizeze următoarele:

  • Evoluția și flexibilitatea schemei.
  • Împărțirea și împărțirea meselor.
  • Definirea tabelelor Hive direct în HDFS.
  • Disponibilitatea driverelor ODBC/JDBC.

Una peste alta, Apache Hive i-a ajutat pe dezvoltatori să economisească mult timp care, altfel, ar merge în scrierea unor joburi complexe de reducere a hărților. Hive aduce simplitate rezumatului, analizei, interogării și explorării datelor.

Bazându-se doar pe SQL, Apache Hive este un cadru rapid și scalabil și este foarte extensibil. Dacă înțelegeți interogările de bază folosind SQL, veți putea lucra cu Apache Hive în cel mai scurt timp! De asemenea, oferă acces la fișiere pe diferite magazine de date, cum ar fi HBase și HDFS.

Arhitectura Stupului Apache

Acum că înțelegeți importanța și apariția Apache Hive, să ne uităm la componentele majore ale Apache Hive. Arhitectura Apache Hive include:

1. Metastore

Acesta este folosit pentru stocarea metadatelor pentru fiecare dintre tabele. Metadatele constau în general din locație și schemă. Metastore constă, de asemenea, din metadatele partiției, care îi ajută pe ingineri să urmărească progresul diferitelor seturi de date care au fost distribuite pe clustere. Datele care sunt stocate aici sunt în formatul tradițional RDBMS.

2. Șofer

Driverul din Apache Hive este ca un controler responsabil pentru primirea instrucțiunilor HiveQL. Apoi, începe execuția acestor instrucțiuni prin crearea diferitelor sesiuni. Conducătorul auto este, de asemenea, responsabil pentru monitorizarea și gestionarea ciclului de viață al implementării și a progresului acesteia pe parcurs. Driverele dețin toate metadatele importante care sunt generate atunci când este executată o instrucțiune HiveQL. De asemenea, acționează ca un punct de colectare a datelor obținute după operația de reducere a hărții.

3. Compilator

Compilatorul este utilizat pentru compilarea interogărilor HiveQL. Acesta convertește interogările generate de utilizator într-un plan de execuție sigur, care conține toate sarcinile care trebuie efectuate. Planul include, de asemenea, toți pașii și procedurile necesare pentru a urma map-reduce pentru a obține rezultatul necesar. Compilatorul Hive convertește interogarea introdusă de utilizator în AST (Arborele de sintaxă abstractă) pentru a verifica dacă există erori de compilare sau probleme de compatibilitate. AST este transformat într-un grafic aciclic direcționat (DAG) atunci când niciuna dintre probleme nu este întâlnită.

4. Optimizator

Optimizatorul face toate transformările planului de execuție necesare pentru a ajunge la DAG optimizat. Face acest lucru prin agregarea tuturor transformărilor împreună, cum ar fi conversia unei game de îmbinări individuale într-o singură îmbinare - pentru a îmbunătăți performanța. În plus, optimizatorul poate împărți diferite sarcini prin aplicarea unei transformări asupra datelor înainte ca operațiunea redusă să fie efectuată – din nou, pentru a îmbunătăți performanța generală.

5. Executant –

Odată ce Apache Hive a efectuat sarcinile de compilare și optimizare, executantul realizează execuțiile finale. Se ocupă de direcționarea sarcinilor și de a le duce la bun sfârșit.

6. CLI, UI și Thrift Server

Interfața de linie de comandă (CLI) este utilizată pentru a oferi utilizatorului extern o interfață cu utilizatorul pentru a interacționa cu diferitele caracteristici ale Apache Hive. CLI este ceea ce alcătuiește interfața de utilizare a Hive pentru utilizatorii finali. Pe de altă parte, serverul Thrift permite clienților externi să interacționeze cu Hive printr-o rețea, similar protocoalelor ODBC sau JDBC.

Caracteristicile de bază ale Apache Hive

După cum am menționat mai devreme, Apache Hive a adus o schimbare atât de necesară în modul în care inginerii au lucrat la joburile de date. Java nu a mai fost limbajul de bază, iar dezvoltatorii puteau lucra doar folosind SQL. În afară de aceasta, există și alte câteva caracteristici esențiale ale Hive, cum ar fi:

  • Apache Hive oferă rezumat, analiză și interogare a datelor într-un mod mult mai simplificat.
  • Hive acceptă tabele interne și externe, făcând posibilă lucrul cu date externe fără a le aduce în H DFS.
  • Apache Hive funcționează perfect pentru cerința de interfață de nivel scăzut a Hadoop.
  • Prin sprijinirea partiționării datelor la nivelul tabelelor, Apache Hive ajută la îmbunătățirea performanței generale.
  • Are un optimizator bazat pe reguli pentru optimizarea diferitelor planuri logice.
  • Funcționează pe HiveQL, un limbaj similar cu SQL, ceea ce înseamnă că dezvoltatorii nu trebuie să stăpânească un alt limbaj pentru a lucra cu seturi de date mari.
  • Interogarea în Hive este extrem de simplă, similară cu SQL.
  • De asemenea, putem rula interogări ad-hoc pentru analiza datelor folosind Hive.

Limitarea Apache Hive

Deoarece lumea științei datelor este relativ nouă și în continuă evoluție, chiar și cele mai bune instrumente disponibile pe piață au unele limitări. Rezolvarea acestor limitări este ceea ce ne va oferi următoarele cele mai bune instrumente. Iată câteva limitări ale lucrului cu Apache Hive pe care să le țineți minte:

  • Hive nu oferă actualizări la nivel de rând și interogări în timp real.
  • Apache Hive oferă o latență acceptabilă pentru interactivitate.
  • Nu este cel mai bun pentru a lucra cu tranzacții online.
  • Latența în interogările Hive este în general mai mare decât media.

În concluzie

Apache Hive a adus îmbunătățiri drastice și uimitoare în modul în care inginerii de date lucrează pe seturi de date mari. Mai mult, prin eliminarea completă a necesității limbajului de programare Java, Apache Hive a adus un confort familiar inginerilor de date. Astăzi, puteți lucra fără probleme cu Apache Hive dacă aveți cunoștințe fundamentale despre interogări SQL.

După cum am menționat mai devreme, știința datelor este un domeniu dinamic și în continuă evoluție. Suntem siguri că anii următori vor aduce noi instrumente și cadre pentru a simplifica lucrurile și mai mult. Dacă sunteți un pasionat de date care dorește să învețe toate instrumentele din domeniul științei datelor, acum este cel mai bun moment pentru a vă folosi instrumentele Big Data precum Hive.

La upGrad, am îndrumat și îndrumat studenți din întreaga lume și am ajutat oameni din medii diferite să stabilească o poziție fermă în industria științei datelor. Profesorii noștri experți, parteneriatele din industrie, asistența pentru plasare și rețeaua solidă de absolvenți vă asigură că nu sunteți niciodată singur în această călătorie. Așa că consultați programul nostru Executive PG în știința datelor și înscrieți-vă în cel care vi se potrivește – de restul ne vom ocupa noi!

Ce este Apache Hive în Hadoop?

Apache Hive este un cadru sau sistem folosit pentru depozitarea, interogarea și analiza seturi mari de date. Apache Hive a fost introdus de Facebook pentru a-și îmbunătăți operațiunile interne și de atunci a fost o parte integrantă a spectrului Data Science.

Trebuie să învăț vreo limbă specială pentru a lucra cu Apache Hive în Hadoop?

Nu! Doar cunoștințele de lucru despre SQL vă vor fi suficiente pentru a începe să utilizați Apache Hive!

Pentru ce NU este folosit Apache Hive?

Apache Hive este utilizat în general pentru OLAP (procesare în lot) și, în general, nu este utilizat pentru OLTP din cauza operațiunilor în timp real din baza de date.