Apache Hadoop

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Apache Hadoop
software
Siglă
Tip Calcul distribuit
Dezvoltator Apache Software Foundation
Data primei versiuni 1 aprilie 2006
Ultima versiune 3.3.0 (14 iulie 2020)
Sistem de operare Multiplatform
Limba Java
Licență Licență Apache 2.0
( licență gratuită )
Site-ul web hadoop.apache.org

Apache Hadoop este un cadru sub licență gratuită care acceptă aplicații distribuite cu acces ridicat la date, permițând aplicațiilor să funcționeze cu mii de noduri și petabyte de date [1] . Inspirat de Google MapReduce [2] și Google File System [3] , este un proiect de fundație Apache la nivel înalt construit și utilizat de o comunitate globală de colaboratori, utilizând limbajele de programare Java și Scala .

De asemenea, sunt utilizate de AOL [4] , Ebay [5] , Facebook [6] , IBM [7] , Linkedin [8] , Spotify [9] , The New York Times [10] și Twitter [11] , cel mai mare contribuitor la acest proiect a fost Yahoo! [12] și o folosește intens [13] . Oferă o cantitate mare de biblioteci ușor de utilizat și are deocamdată trei versiuni, prima versiune a Hadoop conține Map Reduce și Hadoop Distributed File System ( HDFS ); de la prima versiune a Hadoop, nevoile de performanță s-au schimbat, din acest motiv a doua versiune a fost integrată cu YARN [14] .

Numele proiectului a fost ales de creatorul său Doug Cutting, care a ales Hadoop, numele elefantului umplut al fiului său [15] . A fost inițial dezvoltat pentru a sprijini distribuția pentru proiectul motorului de căutare Nutch [16] .

Structura

Arhitectura Apache Haadoop Framework

Strict vorbind, Hadoop este alcătuit din HDFS, MapReduce și YARN. Prin ecosistemul Hadoop înțelegem toate instrumentele create special pentru a se integra cu acestea, cum ar fi Sqoop, Hive, Flume.

Sistemul de fișiere

Hadoop Distributed File System ( HDFS ) este un sistem de fișiere distribuit, portabil și scalabil scris în Java pentru cadrul Hadoop. Un cluster din Hadoop are de obicei unul sau mai multe noduri de nume (pe care se află metadatele fișierelor) și un set de noduri de date (pe care fișierele HDFS se află în blocuri de dimensiuni fixe). Cele mai utilizate formate pentru fișiere pe HDFS sunt valori separate prin virgulă , Apache Avro , Apache ORC și Apache Parquet .

Hadoop acceptă, de asemenea:

Hadoop poate funcționa direct cu orice sistem de fișiere distribuite care poate fi montat dintr-un sistem de operare subiacent pur și simplu utilizând o adresă URL de tipul „fișier: //”.

O componentă care vă permite să integrați Hadoop cu un număr mare de sisteme de fișiere distribuite și nedistribuite este Alluxio .

Aplicații și biblioteci utilizate în clustere Hadoop

Prelucrarea datelor în modul batch

Când s-a născut Hadoop, singura modalitate de a crea aplicații de procesare a datelor a fost MapReduce, care necesită să scrieți o mulțime de cod Java pentru chiar și cele mai simple sarcini. De-a lungul anilor, biblioteci precum Cascading și Apache Crunch au fost inventate pentru a facilita construirea acestor programe. Acestora li s-a alăturat Pig , un instrument care vă permite să utilizați un limbaj inspirat de SQL.

O schimbare semnificativă a avut loc odată cu introducerea Apache Spark, care utilizează agresiv memoria RAM a nodurilor clusterului pentru a efectua procesarea la o viteză semnificativ mai mare decât cea a MapReduce. De-a lungul timpului, Apache Spark a evoluat, adăugând suport pentru un limbaj asemănător cu SQL și capacitatea de a efectua procesarea în flux de microbatch.

Prelucrarea datelor în modul Streaming

Pentru procesarea datelor în modul streaming cu latență redusă, puteți utiliza:

O bibliotecă demnă de remarcat este Akka . Acest lucru vă permite să procesați date cu performanțe foarte ridicate utilizând modelul de actor. Primele versiuni ale Apache Spark, anterioare versiunii 1.6, au fost construite chiar pe Akka.

De asemenea, au fost create instrumente care vă permit să definiți fluxurile de procesare a datelor prin diagrame. Acestea includ Apache NiFi și StreamSets Data Collector .

Instrumente de gestionare a datelor
  • Apache Hive , care este folosit pentru interogarea conținutului HDFS utilizând un limbaj foarte similar cu SQL numit Hive Query Language;
  • Apache Impala , similar cu Hive, dar cu o latență mai mică pentru un randament mai mic. Acest software nu are caracteristicile mai avansate ale Hive, cum ar fi gestionarea indexurilor și date de date mai complexe. Utilizați Limbajul de interogare Impala;
  • Apache Drill , un instrument similar cu Hive și Impala;
  • În curând, un instrument pentru interogarea datelor HDFS similare cu Hive și Impala, dezvoltat de Facebook;
  • Apache Kafka care este folosit pentru a transmite mesaje și pentru a păstra mesajele care au fost transmise de-a lungul timpului;
  • Sqoop , un instrument de linie de comandă care vă permite să importați date din baze de date relaționale în HDFS și invers;
  • Apache Flume , un serviciu distribuit de încredere și disponibil pentru colectarea eficientă, agregarea și transportul unor cantități mari de date jurnal.
Consola web
  • Apache Ambari , care ajută la administrarea mai ușoară a unui cluster Hadoop;
  • Hue , o interfață grafică care vă permite să aveți un singur punct de intrare la toate instrumentele web pentru Hadoop;
Baze de date nerelationale
Alte instrumente

Arhitecturi de sisteme bazate pe Hadoop

Folosind Hadoop este posibil să construim arhitecturi de tip Lambda, descrise de Nathan Marz și James Warren. Acest tip de arhitectură asigură fluxuri de lot și fluxuri de streaming în paralel. Limita acestei abordări este că trebuie să scrieți de două ori mai mult cod. Pentru a încerca să depășim această limită, a fost propusă arhitectura Kappa, în care totul se face în streaming.

Distribuții ale Hadoop

Deși este posibil să descărcați și să instalați tot software-ul necesar pentru a rula singur un cluster Hadoop, în multe cazuri este preferabil să folosiți o distribuție în care toate aceste software-uri sunt deja prezente și instalate.

Printre cele mai cunoscute distribuții găsim:

Notă

Bibliografie

Elemente conexe

linkuri externe

Controlul autorității GND ( DE ) 1022420135
Software gratuit Free Software Portal : accesați intrările Wikipedia care se ocupă de software gratuit