Hjem Personlig finansiering Komprimering af data i Hadoop - dummies

Komprimering af data i Hadoop - dummies

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

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

De enorme datamængder, der er realiteter i en typisk Hadoop-implementering, gør kompression en nødvendighed. Datakomprimering sparer helt sikkert en stor mængde lagerplads og er sikker på at fremskynde bevægelsen af ​​disse data i hele din klynge. Ikke overraskende er der en række tilgængelige komprimeringsordninger, kaldet codecs, derude for at du skal overveje.

I en Hadoop-implementering handler du (potentielt) med et stort antal individuelle slave noder, der hver har en række store diskdrev. Det er ikke ualmindeligt, at en individuel slaveknude har op til 45 TB rå lagerplads til rådighed for HDFS.

For det første er nogle grundlæggende udtryk: A

codec, som er en forkortet form af co mpressor / dec ompressor, er teknologi (software eller hardware eller begge) til komprimering og dekomprimering af data; det er implementeringen af ​​en komprimerings / dekomprimeringsalgoritme.

Du skal vide, at nogle codecs understøtter noget, der kaldes splittable kompression, og at codecs er forskellige i både den hastighed, hvormed de kan komprimere og dekomprimere data og i hvilken grad de kan komprimere den.

Splittable compression

er et vigtigt koncept i Hadoop-konteksten. Den måde Hadoop arbejder på er, at filer er opdelt, hvis de er større end filens blokstørrelsesindstilling, og individuelle filsplit kan behandles parallelt med forskellige mappere.

Med de fleste codecs kan tekstfilsklader ikke dekomprimeres uafhængigt af andre splittelser fra samme fil, så disse codecs siges at være ikke-splittelige, så MapReduce-behandling er begrænset til en enkelt mapper.

Da filen kun kan dekomprimeres som en helhed og ikke som individuelle dele baseret på splittelser, kan der ikke parallelt behandles en sådan fil, og ydeevne kan tage et stort hit, da et job venter på en enkelt mapper til behandle flere datablokke, der ikke kan dekomprimeres uafhængigt.

Splittable-komprimering er kun en faktor for tekstfiler. For binære filer komprimerer Hadoop-komprimerings kodeker data inden for en binærkodet container, afhængigt af filtype (f.eks. En sekvensfil, avro eller protokolbuffer).

Taler om ydeevne er der en omkostning (hvad angår behandling af ressourcer og tid), der er forbundet med at komprimere de data, der skrives til din Hadoop-klynge.

Med computere, som med livet, er intet gratis. Ved komprimering af data udskifter du behandlingscyklusser for diskplads. Og når disse data bliver læst, er der en omkostning forbundet med dekomprimering af dataene også. Vær sikker på at afveje fordelene ved lagerbesparelser mod de ekstra ydelser.

Hvis inputfilen til et MapReduce-job indeholder komprimerede data, reduceres den tid, der er nødvendig for at læse dataene fra HDFS, og jobpræstationen er forbedret. Inddataene dekomprimeres automatisk, når de læses af MapReduce.

Udvidelsesfilen til filnavnet bestemmer, hvilken understøttet codec der bruges til automatisk dekomprimering af dataene. For eksempel a. gz extension identificerer filen som en gzip-komprimeret fil.

Det kan også være nyttigt at komprimere mellemfasen af ​​kortfasen i MapReduce-procesflowet. Fordi kortfunktionsudgang er skrevet til disk og afsendt på tværs af netværket for at reducere opgaverne, kan komprimering af output resultere i betydelige præstationsforbedringer.

Og hvis du vil gemme MapReduce-udgangen som historikfiler til fremtidig brug, kan komprimering af disse data reducere mængden af ​​nødvendig plads i HDFS betydeligt.

Der findes mange forskellige komprimeringsalgoritmer og værktøjer, og deres egenskaber og styrker varierer. Den mest almindelige afvejning er mellem kompressionsforhold (i hvilken grad en fil er komprimeret) og komprimerer / dekomprimerer hastigheder. Hadoop-rammen understøtter flere codecs. Rammerne gennemsigtigt komprimerer og dekomprimerer de fleste input- og outputfilformater.

Følgende liste identificerer nogle fælles kodeker, der understøttes af Hadoop-rammen. Sørg for at vælge den codec, der passer bedst til kravene i dit særlige brugssag (for eksempel med arbejdsbyrder, hvor hastigheden af ​​behandlingen er vigtig, valgte en codec med høje dekompressionshastigheder):

Gzip:

  • En kompression værktøj, der blev vedtaget af GNU projektet, Gzip (kort for GNU zip) genererer komprimerede filer, der har a. gz udvidelse. Du kan bruge kommandoen gunzip til at dekomprimere filer, der blev oprettet af en række komprimeringsværktøjer, herunder Gzip. Bzip2:

  • Fra et brugervenlighed er Bzip2 og Gzip ens. Bzip2 genererer et bedre kompressionsforhold end Gzip, men det er meget langsommere. Faktisk er Bzip2 af alle de tilgængelige komprimerings codecs i Hadoop den langsomste. Hvis du opretter et arkiv, som du sjældent skal forespørge om, og rummet har en høj præmie, så ville Bzip2 måske være værd at overveje.

    Snappy:

  • Snappy codec fra Google giver beskedne kompressionsforhold, men hurtige komprimerings- og dekompressionshastigheder. (Faktisk har den den hurtigste dekompressionshastighed, hvilket gør det yderst ønskeligt for datasæt, der sandsynligvis vil blive forespurgt ofte.) Snappy codec er integreret i Hadoop Common, et sæt fælles værktøjer, der understøtter andre Hadoop-underprojekter. Du kan bruge Snappy som en tilføjelse til nyere versioner af Hadoop, der endnu ikke leverer Snappy codec support.

    LZO:

  • Ligesom Snappy, giver LZO (kort for Lempel-Ziv-Oberhumer, trioet af computerforskere, der kom op med algoritmen) beskedne kompressionsforhold, men hurtige kompressions- og dekompressionshastigheder. LZO er licenseret under GNU Public License (GPL). LZO understøtter splittable compression, som muliggør parallelbehandling af komprimerede tekstfiler med dine MapReduce-job. LZO skal oprette et indeks, når det komprimerer en fil, fordi der med komprimeringsblokke med variabel længde kræves et indeks for at fortælle mappen, hvor den sikkert kan opdele den komprimerede fil. LZO er kun virkelig ønskeligt, hvis du skal komprimere tekstfiler.

    Hadoop Codecs

Codec

Filforlængelse Splittable? Kompressionsgraden Kompressionshastighed Gzip
. gz Nej Middel Middel Bzip2
. bz2 Ja Høj Langsom Snappy
. bidsk Nej Middel Fast LZO
. lzo Nej, medmindre indekseret Medium Fast Alle kompressionsalgoritmer skal gøre afvejninger mellem kompressionsgraden og kompressionshastigheden, som de kan opnå. De codecs, der er angivet, giver dig en vis kontrol over, hvad balancen mellem kompressionsforhold og hastighed skal være på kompressionstiden.

Gzip lader dig f.eks. Regulere kompressionshastigheden ved at angive et negativt heltal (eller søgeord), hvor -1 angiver det hurtigste komprimeringsniveau og -9 angiver det laveste komprimeringsniveau. Standard kompressionsniveau er -6.

Komprimering af data i Hadoop - dummies

Valg af editor

Sådan indtastes data i Excel 2016 - dummies

Sådan indtastes data i Excel 2016 - dummies

Indtastning af data i Excel 2016-regneark er faktisk ret simpelt. Begynd ved at recitere (i fællesskab) grundreglen for regnearkdataindtastning. Alt sammen nu: For at indtaste data i et regneark skal du placere cellepekeren i cellen, hvor du vil have dataene, og derefter begynde at skrive indgangen. Før du kan placere cellen ...

Hvordan man udtræk dele af en date i Excel - dummies

Hvordan man udtræk dele af en date i Excel - dummies

Evnen til at vælge et bestemt aspekt af en dato er ofte meget hjælpsom. For eksempel kan du muligvis filtrere alle poster, der har ordre datoer inden for en bestemt måned, eller alle medarbejdere, der har tid tildelt til lørdage. I sådanne situationer skal du trække måneden og arbejdsdagen ud ...

Sådan aktiveres Excel Cell Range Editing af visse brugere - dummies

Sådan aktiveres Excel Cell Range Editing af visse brugere - dummies

Du kan bruge Tillad brugere til Edit Ranges-kommandoknappen i gruppen Ændringer på fanen Review i Excel 2013-båndet for at aktivere redigering af bestemte intervaller i det beskyttede regneark af bestemte brugere. Når du bruger denne funktion, giver du bestemte brugere tilladelse til at redigere bestemte celleintervaller, forudsat at ...

Valg af editor

Hvordan man opretter grafiske symboler i Flash CS5 - dummies

Hvordan man opretter grafiske symboler i Flash CS5 - dummies

Du kan konvertere ethvert objekt på scenen til en grafisk symbol i Adobe Flash Creative Suite 5, så du kan udnytte yderligere funktioner, der er unikke for symboler. Du kan også oprette tomme grafiske symboler fra panelet Flash CS5 Library eller ved at vælge Indsæt → Nyt symbol og derefter tilføje indhold til dem. ...

Sådan skaber du fadeeffekter i Flash CS5 - dummies

Sådan skaber du fadeeffekter i Flash CS5 - dummies

Adobe Flash Creative Suite 5's Fade-effekter er ret populære fordi de kan tilføje en filmisk følelse og glatte overgange mellem Flash CS5-billeder, tekst og grafik. Du kan se fades, der bruges i velkendte medier, såsom billedshow eller film, hvor billeder eller scener falmer fra den ene til den anden. I Flash, en falme ...

Hvordan man opretter tastaturgenveje i Adobe Flash CS6 - dummies

Hvordan man opretter tastaturgenveje i Adobe Flash CS6 - dummies

Del af skabelsen af ​​et glat og hurtigt arbejde miljø i Adobe Flash CS6 har dine yndlingskommandoer, paneler og værktøjer lige ved hånden. De fleste Flash-menupunkter og -paneler er udstyret med genvejstastkombinationer, der giver nem adgang uden at skulle kaste gennem flere menuer. Hvis du har brug for dine egne brugerdefinerede tastaturgenveje, ...

Valg af editor

Hvordan man animerer med masker i fyrværkeri CS5 - dummies

Hvordan man animerer med masker i fyrværkeri CS5 - dummies

Hvis du er en Photoshop-bruger, er nok kendt med masker. Du kan tage maskering et skridt videre i Adobe Fireworks Creative Suite 5 ved at animere en maske. Masker giver dig mulighed for at vælge det viste område af et billede. Processen er meget som at klippe et hul i et stykke papir og derefter placere et billede ...

Hvordan man bruger filtre til billeder i fyrværkeri CS5 - dummies

Hvordan man bruger filtre til billeder i fyrværkeri CS5 - dummies

Filtre i Adobe Fireworks Creative Suite 5 giver dig mange muligheder for at redigere dine billeder. Du kan vælge at sløre et billede eller justere farverne ved at bruge kurven eller nuancejusteringslaget. For at få adgang til dine filtre kan du vælge dem fra menuen Filtre eller vælge Vindue → Andre → Billedredigering. Hvis du vil ...

Sådan konverteres kunst til et symbol i fyrværkeri CS5 - dummies

Sådan konverteres kunst til et symbol i fyrværkeri CS5 - dummies

Nogle gange når du arbejder i Adobe Fireworks Creative Suite 5, kan du opleve, at du gentagne gange opretter den samme knap, animation eller grafik. Hvis det er tilfældet, skal du følge disse trin for at konvertere det pågældende billede til et symbol: Marker det kunstværk, du vil konvertere, med markørværktøjet. Vælg Modify → Symbol → Convert to Symbol. Konverter til symbol-dialogboksen ...