Introducere în alternativele Hadoop

Apache Hadoop este un cadru monstruos care folosește alte câteva componente, cum ar fi HDFS, Hive, Spark, YARN și Zookeeper. Este utilizat pentru procesarea și analizarea datelor preluate din surse interne sau externe. Se poate extinde de la mai multe mașini sau servere la mii dintre ele. Există multe funcții de bibliotecă încorporate care pot detecta și gestiona defecțiunile.

Componentele Hadoop

1) Sistemul de fișiere distribuit Hadoop (HDFS):

Acesta este rezervorul de stocare a datelor din Hadoop. Funcționează pe principiul datelor distribuite, unde seturi uriașe de date sunt împărțite în părți mici și stocate pe mai multe mașini într-un cluster.

2) MapReduce:

Este un model de programare pentru a efectua analize în mod paralel asupra datelor care se află în diferite noduri ale unui cluster.

3) stup:

Un cadru Open-Source care este utilizat pentru a interoga datele structurate folosind un limbaj Hive-Query. Funcția de indexare este utilizată pentru a accelera procesul de interogare.

4) Ambari:

O platformă pentru monitorizarea sănătății clusterului și automatizarea operațiunilor. Are o UI Web simplă și poate fi ușor instalat și configurat.

Lista alternativelor Hadoop

Mai jos este prezentată diferitele alternative Hadoop care sunt următoarele:

Prelucrare lot

Aici prelucrarea se face doar pe datele de arhivare. De exemplu, auditurile financiare și recensământul sunt o analiză făcută pe date vechi pentru a oferi o mai bună predicție a rezultatelor viitoare. Aceste date pot conține miliarde de rânduri și coloane. Prelucrarea lotului este cea mai potrivită pentru prelucrarea datelor mari, fără a fi nevoie de analize în timp real.

Prelucrare în timp real

Este, de asemenea, cunoscut sub numele de Stream-Processing. Aici datele sunt procesate din când în când, deoarece sunt generate pentru a oferi o perspectivă rapidă a rezultatelor probabile. Detectarea cutremurului și piețele stocurilor sunt cele mai bune exemple în care analiza în timp real este o necesitate.

Scânteie Apache

Spark este un cadru, utilizat împreună cu Hadoop pentru a prelucra date în serie sau în timp real pe mașini grupate. Poate fi, de asemenea, utilizat ca un standalone, regăsirea și stocarea datelor pe serverele terțe fără a utiliza HDFS. Este un produs open-source. Oferă API-uri care sunt scrise folosind SCALA, R sau Python care acceptă procesarea generală. Pentru a procesa date structurate, Spark-SQL poate fi utilizat. Spark Streaming realizează analize în timp real necesare. Spark oferă suport pentru învățarea automată folosind MLIB. La final, datele procesate pot fi vizualizate folosind Graphix.

Cea mai notabilă caracteristică a Spark este procesarea în memorie. Întreaga procesare a datelor are loc în memorie și nu pe disc. Această metodă economisește timpul de citire a scrierii intrării pe disc și a ieșirii dinapoi. Scânteia se aprinde rapid și este de aproape 100 de ori mai rapidă decât procesarea Hadoop. Întreaga funcție este definită și trimisă în contextul Spark. Abia atunci, prelucrarea începe de la zero. Această metodă este cunoscută sub numele de Lazy-execuție. Kafka, Flume sunt utilizate ca intrări pentru fluxul de date. Spark pentru a analiza datele structurate sau nestructurate pot fi folosite de Spark. Fluxurile de date sunt o mulțime de date pentru un interval de timp dat în Spark Streaming. Acestea sunt transformate în loturi și trimise la Spark Engine pentru procesare. Datele structurate sunt transformate în cadre de date înainte de utilizarea Spark-SQL pentru analize suplimentare.

Furtuna Apache

Furtuna Apache este, de asemenea, una dintre alternativele Hadoop care este cea mai potrivită pentru analizele distribuite în timp real. Este ușor de configurat, ușor de utilizat și nu oferă pierderi de date. O furtună are o putere de procesare foarte mare și oferă o latență scăzută (de obicei în câteva secunde) în comparație cu Hadoop.

Vom analiza mai atent fluxul de lucru al furtunii:

  • Topologia furtunii (similară cu un DAG, dar un plan de execuție fizică) este trimis la Nimbus (Nodul principal).
  • Sarcinile și ordinea în care ar trebui să fie îndeplinite sunt transmise la Nimbus.
  • Nimbus distribuie uniform sarcinile disponibile supraveghetorilor (spouts), iar procesul este realizat de nodurile lucrătorilor (bolțuri).
  • Sănătatea scurgerilor și bolțurilor este monitorizată continuu prin bătăi de inimă. Odată ce supraveghetorul moare, Nimbus alocă sarcina unui alt nod.
  • Dacă Nimbus moare, acesta este repornit automat de instrumentele de monitorizare. Între timp, supraveghetorii continuă să își îndeplinească sarcinile care au fost atribuite mai devreme.
  • După ce Nimbusul este repornit, acesta continuă să funcționeze de unde s-a oprit. Prin urmare, nu există pierderi de date și fiecare date trece prin topologie cel puțin o dată.
  • Topologia continuă să funcționeze cu excepția cazului în care Nimbus este încheiat sau oprit cu forță.
  • Storm folosește Zookeeper pentru a monitoriza Nimbus și celelalte noduri de supraveghere.

Mare întrebare

Bazele de date sunt utilizate pentru procesarea tranzacțională. Managerii creează rapoarte și analizează datele din diverse baze de date. Depozitele de date au fost introduse pentru a prelua date din mai multe baze de date din întreaga organizație. Google a dezvoltat o interogare Big, care este un depozit de date gestionat de sine. Pentru a gestiona interogări foarte complexe, este posibil să aveți nevoie de servere și mașini cu noduri performante, care pot costa enorm. Configurarea infrastructurii poate dura până la câteva săptămâni. Odată ce pragul maxim este atins, atunci acesta trebuie scalat. Pentru a depăși aceste probleme, interogarea Big oferă stocare sub forma norului Google. Nodurile lucrătorului se extind până la dimensiunea unui centru de date, dacă este necesar pentru a efectua o interogare complexă în câteva secunde. Plătești pentru ceea ce folosești, adică interogarea. Google are grijă de resurse, de întreținerea și securitatea lor. Rularea interogărilor pe baze de date normale poate dura de la minute la ore. Interogarea mare procesează datele mult mai rapid și este potrivită în principal pentru transmiterea de date precum jocuri online și Internet of Things (IoT). Viteza de procesare este la fel de mare ca miliarde de rânduri într-o secundă.

Presto

O interogare Presto poate fi utilizată pentru a combina date din diferite surse din întreaga organizație și pentru a le analiza. Datele pot fi rezidențiate în stup, RDBMS sau Cassandra. Presto este cel mai potrivit pentru analiștii care așteaptă întregul raport solicitat în câteva minute. Arhitectura este analogă unui sistem clasic de gestionare a bazelor de date cu utilizarea mai multor noduri într-un cluster. Acesta a fost dezvoltat de Facebook pentru efectuarea analizei și găsirea informațiilor din datele lor interne, inclusiv depozitul de date 300PB. Peste 30.000 de întrebări sunt rulate pe datele lor pentru a scana peste un petabyte pe zi. Alte companii de top cum ar fi Airbnb și Dropbox folosesc și Presto.

Articol recomandat

Acesta a fost un ghid pentru alternativele Hadoop. Aici discutăm componentele Hadoop, procesarea loturilor și procesarea în timp real a alternativelor Hadoop. De asemenea, puteți consulta următoarele articole pentru a afla mai multe:

  1. Hadoop Administrator Locuri de muncă
  2. Hadoop vs SQL Performance
  3. Cariera în Hadoop
  4. Hadoop vs Spark
  5. Administratorul Hadoop | Competențe și cale de carieră

Categorie: