Casa Finanza personale Comprimere i dati in Hadoop - dummies

Comprimere i dati in Hadoop - dummies

Video: How To Compress Large Video Files On Mac Without Losing Video Quality 2024

Video: How To Compress Large Video Files On Mac Without Losing Video Quality 2024
Anonim

Gli enormi volumi di dati che sono realtà in una tipica implementazione Hadoop rendono la compressione una necessità. La compressione dei dati ti consente di risparmiare molto spazio di archiviazione ed è sicuro di accelerare il movimento di tali dati in tutto il cluster. Non sorprende che un certo numero di schemi di compressione disponibili, chiamati codec, sono disponibili per te.

In una distribuzione Hadoop, si ha a che fare (potenzialmente) con un numero piuttosto elevato di singoli nodi slave, ognuno dei quali ha un numero di grandi unità disco. Non è raro che un singolo nodo slave abbia fino a 45 TB di spazio di archiviazione raw disponibile per HDFS.

Anche se i nodi slave Hadoop sono progettati per essere economici, non sono gratuiti e con grandi volumi di dati che tendono a crescere a tassi crescenti, la compressione è uno strumento ovvio per il controllo estremo volumi di dati.

In primo luogo, alcuni termini di base: un codec, che è una forma abbreviata di co mpressor / dec omprote, è tecnologia (software o hardware, o entrambi) per la compressione e la decompressione dei dati; è l'implementazione di un algoritmo di compressione / decompressione.

È necessario sapere che alcuni codec supportano qualcosa chiamato compressione splittabile e che i codec differiscono sia nella velocità con cui possono comprimere e decomprimere i dati sia nel grado in cui possono comprimerli.

La compressione separabile è un concetto importante in un contesto Hadoop. Il modo in cui Hadoop funziona è che i file vengono divisi se sono più grandi dell'impostazione della dimensione del blocco del file e le singole suddivisioni di file possono essere elaborate in parallelo da diversi mapper.

Con la maggior parte dei codec, le divisioni dei file di testo non possono essere decompresse indipendentemente dalle altre divisioni dallo stesso file, quindi i codec non sono divisibili, quindi l'elaborazione di MapReduce è limitata a un singolo mapper.

Poiché il file può essere decompresso solo nel suo complesso, e non come singole parti basate su divisioni, non può esserci un'elaborazione parallela di tale file e le prestazioni potrebbero subire un enorme successo mentre un lavoro attende un singolo mapper elaborare più blocchi di dati che non possono essere decompressi in modo indipendente.

La compressione separabile è solo un fattore per i file di testo. Per i file binari, i codec di compressione Hadoop comprimono i dati all'interno di un contenitore con codifica binaria, a seconda del tipo di file (ad esempio, SequenceFile, Avro o ProtocolBuffer).

A proposito di prestazioni, c'è un costo (in termini di risorse e tempo di elaborazione) associato alla compressione dei dati che vengono scritti nel tuo cluster Hadoop.

Con i computer, come con la vita, nulla è gratuito. Durante la compressione dei dati, stai scambiando cicli di elaborazione per lo spazio su disco. E quando questi dati vengono letti, c'è anche un costo associato alla decompressione dei dati. Assicurati di soppesare i vantaggi dei risparmi di archiviazione rispetto alle spese generali aggiuntive.

Se il file di input di un processo MapReduce contiene dati compressi, il tempo necessario per leggere i dati da HDFS viene ridotto e le prestazioni del lavoro vengono migliorate. I dati di input vengono decompressi automaticamente quando vengono letti da MapReduce.

L'estensione del nome file in ingresso determina quale codec supportato viene utilizzato per decomprimere automaticamente i dati. Ad esempio, a. estensione gz identifica il file come un file compresso con gzip.

Può anche essere utile per comprimere l'output intermedio della fase mappa nel flusso di elaborazione MapReduce. Poiché l'output della funzione mappa viene scritto su disco e inviato attraverso la rete per ridurre le attività, la compressione dell'output può comportare significativi miglioramenti delle prestazioni.

E se si desidera archiviare l'output MapReduce come file di cronologia per uso futuro, la compressione di questi dati può ridurre significativamente la quantità di spazio necessario in HDFS.

Esistono molti algoritmi e strumenti di compressione diversi e le loro caratteristiche e punti di forza variano. Il trade-off più comune è tra i rapporti di compressione (il grado in cui un file è compresso) e comprime / decomprime velocità. Il framework Hadoop supporta diversi codec. Il framework comprime e decomprime in modo trasparente la maggior parte dei formati di file di input e output.

Il seguente elenco identifica alcuni codec comuni supportati dal framework Hadoop. Assicurati di scegliere il codec più adatto alle esigenze del tuo caso d'uso particolare (ad esempio, con carichi di lavoro in cui la velocità di elaborazione è importante, scegli un codec con elevate velocità di decompressione):

  • Gzip: Una compressione utility che è stata adottata dal progetto GNU, Gzip (abbreviazione di GNU zip) genera file compressi con a. estensione gz. È possibile utilizzare il comando gunzip per decomprimere i file creati da un numero di utilità di compressione, incluso Gzip.

  • Bzip2: Dal punto di vista dell'usabilità, Bzip2 e Gzip sono simili. Bzip2 genera un rapporto di compressione migliore rispetto a Gzip, ma è molto più lento. Infatti, tra tutti i codec di compressione disponibili in Hadoop, Bzip2 è di gran lunga il più lento.

    Se stai creando un archivio che raramente avrai bisogno di interrogare e lo spazio è ad un alto livello, allora forse Bzip2 meriterà di essere preso in considerazione.

  • Snappy: Il codec Snappy di Google offre modesti rapporti di compressione, ma velocità di compressione e decompressione veloci. (In effetti, ha le più rapide velocità di decompressione, il che rende altamente desiderabile per i set di dati che è probabile che vengano interrogati spesso.)

    Il codec Snappy è integrato in Hadoop Common, un insieme di utilità comuni che supporta altri sottoprogetti Hadoop. Puoi usare Snappy come componente aggiuntivo per le versioni più recenti di Hadoop che non forniscono ancora il supporto per il codec Snappy.

  • LZO: Simile a Snappy, LZO (abbreviazione di Lempel-Ziv-Oberhumer, il trio di informatici che ha elaborato l'algoritmo) fornisce rapporti di compressione modesti, ma velocità di compressione e decompressione veloci. LZO è concesso sotto licenza GNU Public License (GPL).

    LZO supporta la compressione separabile, che consente l'elaborazione parallela di suddivisioni di file di testo compressi da parte dei lavori MapReduce. LZO ha bisogno di creare un indice quando comprime un file, perché con i blocchi di compressione a lunghezza variabile, è necessario un indice per dire al mappatore dove può dividere in sicurezza il file compresso. LZO è davvero desiderabile solo se hai bisogno di comprimere i file di testo.

Codec Hadoop

Codec File Extension Splittable? Grado di compressione Velocità di compressione
Gzip . gz No medio medio
Bzip2 . bz2 Si Alta lento
Snappy . scattanti No medio Veloce
LZO . lzo No, a meno che indicizzato Medio Veloce

Tutti gli algoritmi di compressione devono compensare il grado di compressione e la velocità di compressione che possono raggiungere. I codec elencati sono in grado di controllare il bilanciamento tra il rapporto di compressione e la velocità al momento della compressione.

Ad esempio, Gzip consente di regolare la velocità di compressione specificando un numero intero negativo (o una parola chiave), dove -1 indica il livello di compressione più veloce e -9 indica il livello di compressione più lento. Il livello di compressione predefinito è -6.

Comprimere i dati in Hadoop - dummies

Scelta dell'editore

Scattare foto digitali con uno zoom ottico - dummy

Scattare foto digitali con uno zoom ottico - dummy

La fotocamera digitale potrebbe avere uno zoom ottico, che è un Obiettivo zoom attuale vecchio stile (al contrario di uno zoom digitale). Per utilizzare lo zoom ottico della fotocamera digitale per scatti ravvicinati, segui questi passaggi di preparazione delle immagini prima di attivare il pulsante o lo switch di zoom:

La reflex digitale e la sensibilità alla luce - dummy

La reflex digitale e la sensibilità alla luce - dummy

La tua reflex digitale ha un'opzione per determinare la sensibilità del sensore della fotocamera è alla luce. Le fotocamere digitali sono le stesse delle fotocamere a pellicola in quanto la sensibilità alla luce è determinata dalla valutazione ISO. Il vantaggio di una fotocamera digitale è che non è necessario cambiare pellicola per modificare le valutazioni ISO. Quando aumenti ...

Scatti grandangolari con obiettivi standard - manichini

Scatti grandangolari con obiettivi standard - manichini

Fotografia grandangolare con un angolo di campo maggiore rispetto alla lunghezza focale normale o teleobiettivo. A volte si percepiscono le foto come molto espansive. Altre volte, a malapena lo si nota. Dipende tutto dal soggetto e da come si inquadra la scena. Questa figura mostra una scena di terreni agricoli che è stata scattata utilizzando un Sony APS-C ...

Scelta dell'editore

Come usare il meta tag DESCRIPTION - dummies

Come usare il meta tag DESCRIPTION - dummies

I meta tag sono tag HTML speciali che puoi utilizzare per trasportare informazioni, che i browser o altri programmi possono quindi leggere. Quando i motori di ricerca di Internet furono creati per la prima volta, i webmaster includevano i meta tag nelle loro pagine per rendere più facile per i motori di ricerca determinare le pagine. I motori di ricerca hanno utilizzato anche questi meta ...

Come scrivere un grande tag Title Web Marketing - dummies

Come scrivere un grande tag Title Web Marketing - dummies

Scrivere un tag title è fondamentale per il successo del web marketing e coinvolge più che mettere le parole chiave prima. I motori di ricerca mostrano il tag parola chiave nella parte superiore di ciascun elemento nelle pagine dei risultati dei motori di ricerca (SERP). Un tag del titolo ben scritto potrebbe aumentare le probabilità che un cliente in ricerca faccia clic sul tuo annuncio. Se ...

In che modo Yahoo! Cerca negli elenchi di Internet e dei ranghi - dummies

In che modo Yahoo! Cerca negli elenchi di Internet e dei ranghi - dummies

Quando le persone effettuano ricerche sul Web utilizzando Yahoo! , ottengono una combinazione di risultati organici e pagati. Se lavori per una società più grande, potresti provare Yahoo! La ricerca inoltra Pro per ottenere un vantaggio rispetto alla concorrenza e puoi persino registrare il tuo sito con Yahoo! Directory. Yahoo! I risultati di ricerca organica ...

Scelta dell'editore

Di Spotify su ShareMyPlaylists. it Funzionalità del sito - dummies

Di Spotify su ShareMyPlaylists. it Funzionalità del sito - dummies

ShareMyPlaylists (o SMP, in breve) è stato uno dei primi siti di condivisione di playlist Spotify e continua a innovare e offrire nuove funzionalità ai visitatori. Il mantra del sito è "Long Live the Mixtape", e qui troverai tantissime creazioni accuratamente compilate da migliaia di utenti. Dopo aver creato una playlist Spotify piena di ...

Spotify Unlimited - dummies

Spotify Unlimited - dummies

Spotify Unlimited è un modo brillante per ascoltare tutta la musica che vuoi senza limiti. È come una persona speciale che ti compra da mangiare e da bere tutta la sera per non doverti preoccupare del conto. È come essere in grado di dormire nel weekend senza preoccuparsi del lavoro o se ...

I generi di Spotify - dummies

I generi di Spotify - dummies

Che si tratti di hard rock, techno, pop, jazz, industrial, indie pop, folk , classico, heavy metal, valzer o qualsiasi altra cosa ti piaccia, Spotify ha il genere o il tipo di musica coperto. Puoi cercare i generi comuni da Spotify. Sebbene Spotify abbia pubblicato un elenco di quasi 1, 000 generi noti, non tutti saranno in grado di offrire ...