Ce este un stup?

Apache Hive este un sistem de depozit de date conceput pe partea de sus a platformei Hadoop open source și este utilizat pentru rezumarea datelor, interogarea datelor mari, analiza datelor etc.

Stupul a fost dezvoltat de Facebook, iar într-un moment ulterior, a fost preluat de Apache Software Foundation care l-a dezvoltat în continuare ca sursă deschisă sub numele de Apache Hive.

Definiție:

Nu este o bază de date relațională și de aceea nu este potrivită pentru procesarea tranzacțiilor online și interogări în timp real cu actualizări la nivel de rând. Stupul este proiectat pentru procesarea analitică online sau OLAP. De asemenea, oferă un limbaj de interogare numit HiveQL. Este scalabil, rapid și extensibil. Acesta transformă interogările care arată aproape ca SQL în joburi MapReduce pentru executarea și procesarea ușoară a unei cantități mari de date. Stupul Apache este una dintre componentele Hadoop care sunt utilizate în mod normal de către analiștii de date, în timp ce apache porc este, de asemenea, utilizat pentru aceeași sarcină, dar este mai utilizat de cercetători și programatori. Apache hive fiind un sistem open source de depozitare a datelor este utilizat pentru a interoga și analiza seturi de date uriașe stocate în stocarea Hadoop. Stupul este cel mai potrivit pentru lucrările de lot și nu pentru tipurile de lucrări de procesare tranzacțională online. De asemenea, nu acceptă întrebări în timp real. Hive folosește limbajul de interogare SQL precum și este utilizat în principal pentru crearea de rapoarte. Hive este, în general, implementat pe server și suportă date structurate. Hive acceptă, de asemenea, integrarea cu instrumentele JDBC și BI.

Înțelegerea stupului:

Mai jos sunt principalele componente ale stupului:

Meta Store:

Depozitul care stochează metadatele se numește hive meta store. Metadata constă din diferite date despre tabele, cum ar fi locația, schema, informațiile despre partiții, care ajută la monitorizarea progresului diferitelor date distribuite în cluster. De asemenea, urmărește datele și reproduce datele care oferă o copie de rezervă în caz de urgență, cum ar fi pierderi de date. Informațiile de metadate sunt prezente în bazele de date relaționale și nu în sistemul de fișiere Hadoop.

Conducător auto:

La executarea instrucțiunii limbajului de interogare Hive, driverul primește instrucțiunea și o controlează pentru ciclul complet de execuție. Odată cu executarea instrucțiunii, șoferul stochează și metadatele generate din execuție. De asemenea, creează sesiuni pentru a monitoriza progresul și ciclul de viață al diferitelor execuții. După finalizarea operațiunii de reducere de către lucrarea MapReduce, șoferul colectează toate datele și rezultatele interogării

Compilator:

Este utilizat pentru traducerea limbajului de interogare Hive în introducerea MapReduce. Invocă o metodă care execută pașii și sarcinile care sunt necesare pentru a citi ieșirea HiveQL, după cum este necesar de MapReduce.

Instrumentul de optimizare:

Sarcina principală a optimizatorului este îmbunătățirea eficienței și scalabilității, creând o sarcină, transformând datele înainte de operarea de reducere. De asemenea, realizează transformări cum ar fi agregarea, conversia conductelor printr-o singură îmbinare pentru mai multe îmbinări.

Executor testamentar:

După etapa de compilare și optimizare, sarcina principală a executantului este executarea sarcinilor. Sarcina principală a executantului este să interacționeze cu Hadoop job tracker pentru programarea sarcinilor gata de executare.

UI, server Thrift și CLI:

Serverul Thrift este folosit de alți clienți pentru a interacționa cu motorul Hive. Interfața de utilizator și interfața cu linia de comandă ajută la trimiterea întrebărilor, precum și la monitorizarea procesului și instrucțiuni, astfel încât utilizatorii externi să poată interacționa cu stupul.

Mai jos sunt pașii care arată interacțiunea stupului cu cadrul Hadoop:

Executarea interogării:

Interogarea este trimisă driverului de la interfețe de tip stupă, cum ar fi linia de comandă sau UI web. Un driver poate fi orice driver de bază de date precum JDB sau ODBC etc.

Obținerea planului:

Sintaxa pentru cerința interogării sau a planului de interogare poate fi verificată cu ajutorul unui compilator de interogări care trece prin interogare și este invocat de șofer.

Obținerea metadatelor:

Meta-store-ul poate fi rezidențiat în orice bază de date, iar compilatorul face o solicitare de acces la metadate.

Trimiterea metadatelor:

La cererea compilatorului, meta-store-ul trimite metadatele.

Trimiterea planului:

Compilatorul trimite planul șoferului la verificarea cerințelor trimise de compilator. Acest pas completează analizarea și compilarea unei interogări.

Executarea planului:

Planul de execuție este trimis motorului de execuție de către șofer.

Executarea jobului:

O execuție a lucrării este o lucrare MapReduce care se execută în backend. Apoi urmează convenția normală a cadrului Hadoop - motorul de execuție va trimite o lucrare la trackerul de joburi care se află pe nodul nume și nodul, la rândul său, va atribui lucrarea trackerului de sarcini care se află în nota de date. Lucrarea MapReduce este executată aici.

Opțiuni de metadate:

În timp ce executați lucrarea, motorul de execuție poate executa operațiuni de metadate cu ajutorul magazinului meta.

Obținerea rezultatului:

Nodurile de date după finalizarea procesării transmit rezultatul motorului de execuție.

Trimiterea rezultatului

Șoferul primește rezultatul de la motorul de execuție.

Trimiterea rezultatelor:

În cele din urmă, interfețele Hive primesc rezultatul de la driver.

Astfel, prin executarea etapelor de mai sus, are loc o execuție completă de interogare în stup.

Cum face stupul să funcționeze atât de ușor?

Hive este un cadru de stocare a datelor construit pe partea de sus a Hadoop care ajută utilizatorul pentru efectuarea analizei datelor, interogarea datelor și rezumarea datelor pe volume mari de seturi de date. HiveQL este o caracteristică unică care arată ca datele SQL stocate în baza de date și efectuează analiza extinsă. Am fost capabil să citesc date cu viteză foarte mare și să scriu datele în depozitele de date, precum și poate gestiona seturi mari de date distribuite pe mai multe locații. Împreună cu acest stup oferă, de asemenea, structură datelor care sunt stocate în baza de date, iar utilizatorii se pot conecta la stup folosind instrumentul de linie de comandă sau driverul JDBC.

Companii de top:

Organizațiile majore care lucrează cu date mari au folosit stup - cum ar fi facebook, Amazon, Walmart și multe altele.

Ce poți face cu Hive?

Există o mulțime de funcționalități ale stupului, precum interogarea de date, rezumarea datelor și analiza datelor. Hive acceptă un limbaj de interogare numit HiveQL sau Hive Query Language. Interogările de limbă Hive de interogare sunt traduse în lucrarea MapReduce care este procesată în clusterul Hadoop. În afară de aceasta, Hiveql reduce și scriptul care poate fi adăugat la interogări. În acest fel, HiveQL crește flexibilitatea proiectării schemei, care acceptă și deserializarea datelor și serializarea datelor.

Lucrul cu Hive:

Mai jos sunt prezentate câteva detalii operaționale din stup. Tipurile de date ale stupului sunt clasificate, în linii mari, în patru tipuri, astfel cum sunt date mai jos:

  • Tipuri de coloane
  • Literali
  • Valori nule
  • Tipuri complexe

1. Tipuri de coloane:

Acestea sunt tipurile de date de coloană ale stupului. Acestea sunt clasificate mai jos:

  • Tipuri integrale: Datele întregi sunt reprezentate folosind tipul de date integrale. Simbolul este INT. Orice date care depășesc limita superioară a INT trebuie să fie atribuite tipul de date BIGINT. În același mod, orice date sub limita inferioară a INT trebuie să fie atribuite SMALLINT. Există un alt tip de date numit TINYINT, care este chiar mai mic decât SMALLINT.
  • Tipuri de șiruri: tipul de date de șir este reprezentat în stup printr-un singur citat (') sau citate duble („). Poate fi de două tipuri - VARCHAR sau CHAR.
  • Timestamp: timestamp Hive acceptă formatul java.sql.Timestamp „aaaa-mm-dd hh: mm: ss.ffffffffff” și formatul „AAAA-MM-DH HH: MM: SS.fffffffff”.
  • Data: data este reprezentată în stup în format AAA-MM-DD reprezentând anul-lună-zi.
  • Zecimale : zecimale dintr-un stup sunt reprezentate în formatul zecimal mare java și sunt utilizate pentru a reprezenta o precizie arbitrară imuabilă. Este reprezentat în formatul Zecimal (precizie, scară).
  • Tipuri de uniune: Uniunea este utilizată în stup pentru a crea o colecție de tip de date eterogen. Poate fi creat folosind create uniune.

Mai jos este un exemplu:

UNIONTYPE
(0:1)
(1:2.0)
(2:("three", "four"))
(3:("a":5, "b":"five"))
(2:("six", "seven"))
(3:("a":8, "b":"eight"))
(0:9)
(1:10.0)
UNIONTYPE
(0:1)
(1:2.0)
(2:("three", "four"))
(3:("a":5, "b":"five"))
(2:("six", "seven"))
(3:("a":8, "b":"eight"))
(0:9)
(1:10.0)

2. Literale:

Există puține litere utilizate în stup. Acestea sunt ca mai jos:

  • Tip de punct flotant : sunt reprezentate ca numere cu punct zecimal. Acestea sunt destul de similare cu tipul de date duble.
  • Tipul zecimal : Acest tip de date conține doar date de tip zecimal, dar cu o gamă mai mare de valori în virgulă flotantă decât tipul dublu de date. Intervalul de tip zecimal este aproximativ -10 -308 la 10 308.

3. Valoare nulă:

Valoarea specială NULL reprezintă valori lipsă în stup.

4. Tipuri complexe:

Mai jos sunt diferite tipuri de complexe găsite în stup:

  • Array-uri : Array-urile sunt reprezentate într-un stup în aceeași formă ca în java. Sintaxa este ca ARRAY.
  • Hărți : Hărțile sunt reprezentate în stup în aceeași formă ca și Java. Sintaxa este ca MAP
  • .
  • Structuri : Structurile din stup sunt reprezentate ca date complexe cu comentarii. Sintaxa este ca STRUCT.

Pe lângă toate acestea, putem crea baze de date, tabele, partitionarea lor și o mulțime de alte funcții.

  • Baze de date: sunt spațiile de nume care conțin o colecție de tabele. Mai jos este sintaxa pentru a crea o bază de date într-un stup.

CREATE DATABASE (IF NOT EXISTS) sampled;

De asemenea, bazele de date pot fi abandonate dacă nu mai este nevoie. Mai jos este sintaxa pentru a renunța la o bază de date.

DROP DATABASE (IF EXISTS) sampled;

  • Tabele: Ele pot fi, de asemenea, create în stup pentru a stoca date. Mai jos este sintaxa pentru crearea unui tabel.

CREATE (TEMPORARY) (EXTERNAL) TABLE (IF NOT EXISTS) (db_name.) table_nam
((col_name data_type (COMMENT col_comment), …)) (COMMENT table_comment
(ROW FORMAT row_format) (STORED AS file_format)

O masă poate fi, de asemenea, abandonată dacă nu mai este nevoie. Mai jos este sintaxa pentru a renunța la un tabel.

DROP TABLE (IF EXISTS) table_name;

avantaje

Principalul avantaj al Apache Hive este pentru interogarea datelor, rezumarea și analiza. Hive este proiectat pentru o mai bună productivitate a dezvoltatorului și vine, de asemenea, cu costul creșterii latenței și scăderii eficienței. Apache Hive oferă o gamă largă de funcții definite de utilizator, care pot fi interconectate cu alte pachete Hadoop precum RHipe, Apache Mahout, etc. Ajută dezvoltatorii într-o mare măsură atunci când lucrează cu prelucrări analitice complexe și mai multe formate de date. Este utilizat în principal pentru depozitarea datelor, ceea ce înseamnă un sistem utilizat pentru raportare și analiza datelor.

Aceasta implică curățarea, transformarea și modelarea datelor pentru a oferi informații utile despre diverse aspecte de afaceri care vor ajuta la producerea unui beneficiu pentru o organizație. Analiza datelor are multe aspecte și abordări diferite, care cuprind diverse tehnici cu o varietate de nume în diferite modele de afaceri, domenii de științe sociale, etc. stupul este foarte ușor de utilizat și permite utilizatorilor să acceseze simultan datele crescând timpul de răspuns. Comparativ cu celelalte tipuri de întrebări pe seturi de date uriașe, timpul de răspuns al stupului este mult mai rapid decât alții. De asemenea, este mult mai flexibil din punct de vedere al performanței atunci când adăugați mai multe date și prin creșterea numărului de noduri din cluster.

De ce ar trebui să folosim stupul?

Odată cu analiza datelor, stupul oferă o gamă largă de opțiuni pentru stocarea datelor în HDFS. Hive acceptă diferite sisteme de fișiere precum un fișier plat sau un fișier text, fișier de secvență format din perechi de chei-valoare binare, fișiere RC care stochează coloana unui tabel într-o bază de date columnară. În prezent, fișierul care este cel mai potrivit cu Hive este cunoscut sub denumirea de fișiere ORC sau fișiere cu coloană optimizată Row.

De ce avem nevoie de stup?

În lumea de azi, Hadoop este asociat cu cele mai răspândite tehnologii care sunt utilizate pentru prelucrarea datelor mari. Colecția foarte bogată de instrumente și tehnologii utilizate pentru analiza datelor și alte prelucrări mari de date.

Cine este publicul potrivit pentru învățarea tehnologiilor stupului?

Majoritatea persoanelor care au un background ca dezvoltatori, analize Hadoop, administratori de sistem, depozitare de date, SQL Professional și administrarea Hadoop pot stăpâni în stup.

Cum te va ajuta această tehnologie în creșterea carierei?

Hive este una dintre cele mai calde abilități de pe piață în zilele noastre și este unul dintre cele mai bune instrumente pentru analiza datelor din lumea mare a datelor Hadoop. Întreprinderile mari care fac analize pe seturi de date mari caută întotdeauna persoane cu drepturi de abilități, astfel încât să poată gestiona și solicita volume uriașe de date. Hive este unul dintre cele mai bune instrumente disponibile pe piața tehnologiilor de date mari în ultimele zile care poate ajuta o organizație din întreaga lume pentru analiza datelor lor.

Concluzie:

În afară de funcțiile date mai sus, stupul are capacități mult mai avansate. Puterea stupului de a prelucra un număr mare de seturi de date cu mare precizie face ca unul dintre cele mai bune instrumente utilizate pentru analitice în marea platformă de date. În plus, are un potențial ridicat de a apărea ca unul dintre principalele instrumente de mare analiză a datelor în zilele următoare datorită îmbunătățirii periodice și ușurinței de utilizare pentru utilizatorul final.

Articole recomandate

Acesta a fost un ghid pentru Ce este stupul. Aici am discutat despre munca, abilitățile, creșterea carierei, avantajele companiei Hive și ale companiilor de top care implementează această tehnologie. Puteți parcurge și alte articole sugerate pentru a afla mai multe -

  1. Comenzile stupului
  2. Întrebări la interviu stup
  3. Ce este Azure?
  4. Ce este tehnologia Big Data?
  5. Arhitectura stupului | Definiție
  6. Utilizarea funcției ORDER BY în stup

Categorie: