HBase
 sql >> Database >  >> NoSQL >> HBase

Introduzione alla località dei dati in Hadoop MapReduce

In questo tutorial Hadoop ti spiegheremo il concetto di località dei dati in Hadoop.

Prima di tutto vedremo l'introduzione alla località dei dati di MapReduce in Hadoop, quindi discuteremo la necessità di località dei dati di Hadoop in seguito con le categorie di località dei dati in MapReduce, Ottimizzazione della località dei dati.

Alla fine, vedremo i vantaggi del principio della località dei dati di Hadoop in questo tutorial di MapReduce.

Cos'è Data Locality in Hadoop MapReduce?

La località dei dati in Hadoop è il processo di spostamento del calcolo vicino a dove risiedono i dati effettivi invece di spostare dati di grandi dimensioni nel calcolo. Ciò riduce al minimo la congestione complessiva della rete. Ciò aumenta anche il throughput complessivo del sistema.

Il principale inconveniente di Hadoop era il traffico di rete cross-switch a causa dell'enorme quantità di dati. Per ovviare a questo inconveniente, è nata Data Locality.

In Hadoop, HDFS memorizza i set di dati. Framework divide i set di dati in blocchi e li archivia tra i nodi di dati. Quando un client esegue il processo MapReduce, NameNode invia il codice MapReduce ai datanode su cui i dati sono disponibili in base al processo MapReduce.

Requisito per la località dei dati Hadoop

L'architettura Hadoop deve soddisfare le seguenti condizioni per ottenere i vantaggi di tutti i vantaggi della località dei dati:

  • In primo luogo, il cluster Hadoop dovrebbe avere la topologia appropriata. Il codice Hadoop dovrebbe essere in grado di leggere la località dei dati.
  • In secondo luogo, Apache Hadoop dovrebbe essere a conoscenza della topologia dei nodi in cui vengono eseguite le attività. Anche Hadoop dovrebbe sapere dove si trovano i dati.

Categorie di località dati in Hadoop

Le varie categorie in Hadoop Data Locality sono le seguenti:

1. Località dati locali dati in Hadoop

In questo, i dati si trovano sullo stesso nodo del mapper lavorando sui dati. In questo, la vicinanza dei dati è molto vicina al calcolo. La località dei dati locali dei dati è lo scenario preferito.

2. Località dati intra-rack in Hadoop

Come sappiamo, non è sempre possibile eseguire il mapper sullo stesso datanode a causa di vincoli di risorse. In questo caso, è preferibile eseguire il mapper su un nodo diverso ma sullo stesso rack.

3. Località dati Inter-Rack in Hadoop

A volte non è nemmeno possibile eseguire il mapper su un nodo diverso nello stesso rack. In tale situazione, eseguiremo il mapper sui nodi su rack diversi. La località dei dati tra rack è lo scenario meno preferito.

Ottimizzazione della località dei dati Hadoop

Poiché la località dei dati è il principale vantaggio di Hadoop Riduci mappa. Ma ciò non è sempre vantaggioso nella pratica a causa di vari motivi come cluster eterogeneo, esecuzione speculativa, distribuzione e posizionamento dei dati e layout dei dati.

Nei grandi cluster le sfide diventano più prevalenti. Come nel cluster di grandi dimensioni maggiore è il numero di nodi di dati e dati, minore è la località.

Nei cluster più grandi, alcuni nodi sono più recenti e più veloci dell'altro, creando un rapporto tra dati e calcolo sbilanciato. Pertanto, i grandi cluster tendono a non essere completamente omogenei.

In Hadoop esecuzione speculativa poiché i dati potrebbero non essere locali, ma utilizza la potenza di calcolo. La causa principale risiede anche nel layout/posizionamento dei dati. Anche l'elaborazione dei dati non locale mette a dura prova la rete, il che crea problemi alla scalabilità. Quindi la rete diventa il collo di bottiglia.

Possiamo anche migliorare la località dei dati rilevando prima quali lavori si sono deteriorati nel tempo o problemi di località dei dati. La risoluzione dei problemi è più complessa e comporta la modifica del posizionamento e del layout dei dati utilizzando un programma di pianificazione diverso.

Dopodiché dobbiamo verificare se una nuova esecuzione dello stesso carico di lavoro ha un rapporto di località dei dati migliore.

Vantaggi della località dei dati in Hadoop

  • Alta produttività –  La località dei dati in Hadoop aumenta il throughput complessivo del sistema.
  • Esecuzione più rapida –  Nella località dei dati, il framework sposta il codice nel nodo in cui risiedono i dati invece di spostare dati di grandi dimensioni nel nodo. Pertanto, questo rende Hadoop più veloce. Poiché la dimensione del programma è sempre inferiore alla dimensione dei dati, lo spostamento dei dati è un collo di bottiglia nel trasferimento di rete.

Conclusione

In conclusione, la località dei dati in Hadoop migliora l'esecuzione complessiva del sistema e rende Hadoop più veloce. Quindi, riduce la congestione della rete.

Se trovi utile questo blog o hai qualche domanda, lascia un commento nella sezione commenti qui sotto. Saremo lieti di risolverli.