Huis Persoonlijke financiën Gegevens comprimeren in Hadoop - dummies

Gegevens comprimeren in Hadoop - dummies

Video: Joel Selanikio: The surprising seeds of a big-data revolution in healthcare 2024

Video: Joel Selanikio: The surprising seeds of a big-data revolution in healthcare 2024
Anonim

De enorme datavolumes die realiteit zijn in een typische Hadoop-implementatie, maken compressie tot een noodzaak. Datacompressie bespaart u beslist veel opslagruimte en zal de beweging van die gegevens in uw cluster zeker versnellen. Zoals te verwachten, zijn er een aantal beschikbare compressieschema's, codecs genaamd, die u kunt overwegen.

In een Hadoop-implementatie ondervindt u (mogelijk) een behoorlijk groot aantal afzonderlijke slaafknooppunten, die elk een aantal grote schijfstations hebben. Het is niet ongebruikelijk dat een individueel slaafknooppunt meer dan 45 TB ruwe opslagruimte beschikbaar heeft voor HDFS.

Hoewel Hadoop-slaafknooppunten zijn ontworpen om goedkoop te zijn, zijn ze niet gratis, en met grote hoeveelheden gegevens die de neiging hebben om met toenemende snelheden te groeien, is compressie een voor de hand liggend hulpmiddel om extreem te beheersen gegevensvolumes.

Allereerst enkele basistermen: A codec, , wat een verkorte vorm is van co mpressor / dec ompressor, is technologie (software of hardware, of beide) voor het comprimeren en decomprimeren van gegevens; het is de implementatie van een compressie / decompressie-algoritme.

U moet weten dat sommige codecs iets ondersteunen dat splitsbare compressie wordt genoemd en dat codecs verschillen in zowel de snelheid waarmee ze gegevens kunnen comprimeren en decomprimeren als de mate waarin ze deze kunnen comprimeren.

Splitsbare compressie is een belangrijk concept in een Hadoop-context. De manier waarop Hadoop werkt, is dat bestanden worden gesplitst als ze groter zijn dan de blokgrootte-instelling van het bestand en individuele bestandssplitsingen parallel kunnen worden verwerkt door verschillende mappers.

Bij de meeste codecs kunnen tekstbestandssplitsingen niet worden gedecomprimeerd, onafhankelijk van andere splitsingen uit hetzelfde bestand, dus die codecs zouden niet-splitsbaar zijn, dus MapReduce-verwerking is beperkt tot één mapper.

Omdat het bestand slechts in zijn geheel kan worden gedecomprimeerd en niet als afzonderlijke delen die zijn gebaseerd op splitsingen, kan een dergelijk bestand niet parallel worden verwerkt en kunnen de prestaties een enorme klap opbrengen als een taak wacht op één mapper om meerdere datablokken verwerken die niet onafhankelijk van elkaar kunnen worden gedecomprimeerd.

Splitsbare compressie is slechts een factor voor tekstbestanden. Voor binaire bestanden comprimeren Hadoop-compressiecodecs gegevens binnen een binair gecodeerde container, afhankelijk van het bestandstype (bijvoorbeeld een SequenceFile, Avro of ProtocolBuffer).

Over prestaties gesproken, er zijn kosten (in termen van verwerkingsbronnen en tijd) verbonden aan het comprimeren van de gegevens die naar uw Hadoop-cluster worden geschreven.

Met computers, zoals met het leven, is niets gratis. Wanneer u gegevens comprimeert, wisselt u verwerkingscycli in voor schijfruimte. En wanneer die gegevens worden gelezen, zijn er ook kosten verbonden aan het decomprimeren van de gegevens. Ben zeker om de voordelen van opslagbesparingen te wegen tegen de extra prestatiesoverhead.

Als het invoerbestand naar een MapReduce-taak gecomprimeerde gegevens bevat, wordt de tijd die nodig is om die gegevens uit HDFS te lezen, verminderd en de werkprestaties verbeterd. De invoergegevens worden automatisch gedecomprimeerd wanneer het wordt gelezen door MapReduce.

De extensie van de extensie van de invoer bepaalt welke ondersteunde codec wordt gebruikt om de gegevens automatisch te decomprimeren. Bijvoorbeeld a. gz extensie identificeert het bestand als een gzip-gecomprimeerd bestand.

Het kan ook handig zijn om de tussenliggende uitvoer van de kaartfase in de MapReduce-verwerkingsstroom te comprimeren. Omdat de uitvoer van de kaartfunctie naar de schijf wordt geschreven en over het netwerk wordt verzonden om taken te verminderen, kan het comprimeren van de uitvoer leiden tot aanzienlijke prestatieverbeteringen.

En als u de MapReduce-uitvoer wilt opslaan als geschiedenisbestanden voor toekomstig gebruik, kan het comprimeren van deze gegevens de hoeveelheid benodigde ruimte in HDFS aanzienlijk verminderen.

Er zijn veel verschillende compressie-algoritmen en -hulpmiddelen, en hun kenmerken en sterke punten variëren. De meest voorkomende afweging is tussen compressieverhoudingen (de mate waarin een bestand wordt gecomprimeerd) en comprimeer / decomprimeer snelheden. Het Hadoop-framework ondersteunt verschillende codecs. Het framework comprimeert en decomprimeert op transparante wijze de meeste invoer- en uitvoerbestandsformaten.

De volgende lijst identificeert enkele algemene codecs die worden ondersteund door het Hadoop-framework. Zorg ervoor dat u de codec kiest die het beste overeenkomt met de vereisten van uw specifieke use-case (bijvoorbeeld, met workloads waarbij de verwerkingssnelheid belangrijk is, koos een codec met hoge decompressiesnelheden):

  • Gzip: Een compressie utility dat is overgenomen door het GNU-project, Gzip (afkorting van GNU zip) genereert gecomprimeerde bestanden met een. gz extensie. U kunt de opdracht gunzip gebruiken om bestanden te decomprimeren die zijn gemaakt door een aantal compressieprogramma's, waaronder Gzip.

  • Bzip2: Vanuit het oogpunt van bruikbaarheid zijn Bzip2 en Gzip vergelijkbaar. Bzip2 genereert een betere compressieverhouding dan Gzip, maar het is veel langzamer. In feite is Bzip2 van alle beschikbare compressie-codecs in Hadoop verreweg de langzaamste.

    Als u een archief instelt dat u zelden hoeft in te checken en er veel ruimte is, is Bzip2 misschien de moeite van het overwegen waard.

  • Snappy: De Snappy-codec van Google biedt bescheiden compressieverhoudingen, maar snelle compressie- en decompressiesnelheden. (In feite heeft het de snelste decompressiesnelheden, wat het hoogst wenselijk maakt voor datasets die waarschijnlijk vaak worden ondervraagd.)

    De Snappy-codec is geïntegreerd in Hadoop Common, een set van gemeenschappelijke hulpprogramma's die andere Hadoop-subprojecten ondersteunen. U kunt Snappy gebruiken als add-on voor recentere versies van Hadoop die nog geen Snappy-codec-ondersteuning bieden.

  • LZO: Net als Snappy biedt LZO (afkorting van Lempel-Ziv-Oberhumer, het trio van computerwetenschappers dat met het algoritme kwam) bescheiden compressieratio's, maar snelle compressie- en decompressiesnelheden. LZO is gelicenseerd onder de GNU Public License (GPL).

    LZO ondersteunt splitbare compressie, waarmee parallelle verwerking van gecomprimeerde tekstbestandssplitsingen door uw MapReduce-taken mogelijk is. LZO moet een index maken wanneer het een bestand comprimeert, omdat bij compressielengtes met variabele lengte een index nodig is om de mapper te vertellen waar het gecomprimeerde bestand veilig kan worden gesplitst. LZO is alleen echt wenselijk als je tekstbestanden wilt comprimeren.

Hadoop Codecs

Codec Bestandsextensie Splitsbaar? Mate van compressie Compressiesnelheid
Gzip . gz Nee Medium Medium
Bzip2 . bz2 Ja hoog Slow
Snappy . snappy Nee Medium Fast
LZO . lzo Nee, tenzij geïndexeerd Medium Fast

Alle compressie-algoritmen moeten compromissen sluiten tussen de mate van compressie en de compressiesnelheid die ze kunnen bereiken. De codecs die worden weergegeven geven u enige controle over wat de balans tussen de compressieverhouding en de snelheid op compressietijd zou moeten zijn.

Met Gzip kunt u bijvoorbeeld de compressiesnelheid regelen door een negatief geheel getal (of trefwoord) op te geven, waarbij -1 het snelste compressieniveau aangeeft en -9 het traagste compressieniveau aangeeft. Het standaard compressieniveau is -6.

Gegevens comprimeren in Hadoop - dummies

Bewerkers keuze

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Wanneer het komt om het voordeel dat u van LinkedIn krijgt te maximaliseren, bent u uw grootste pleitbezorger. Hoewel je netwerk van connecties je helpt te groeien, gebeurt veel van je marketing zonder dat je erbij betrokken bent. Nadat je je profiel hebt aangemaakt, worden die en andere LinkedIn-activiteit van je gelezen en beoordeeld door de ...

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Deze dagen, wanneer u naar een nieuwe stad moet verhuizen, kunt u er veel plannen voor maken op LinkedIn en op internet. Je kunt de buurten onderzoeken, de schoolsystemen bekijken en online naar huizen gaan. Je kunt een stap verder gaan als je van plan bent om naar een andere ...

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

U zeker wilt dat u de juiste instellingen selecteert contactinstellingen voor uw LinkedIn-profiel. Als u bijvoorbeeld op zoek bent naar een nieuwe baan, wilt u er zeker van zijn dat de optie voor Carrièremogelijkheden is gecontroleerd. Wanneer u klaar bent om uw contactinstellingen te controleren, volgt u deze stappen: Ga naar ...

Bewerkers keuze

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Uw Canon EOS Rebel XS / 1000D heeft alle functies die u kunt gebruiken om fantastische foto's te maken. Je moet de beeldmodus instellen op het onderwerp van je foto en de Canon EOS Rebel XS / 1000D laat je volledig of gedeeltelijk automatisch gaan met de belichtingsinstellingen.

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Live-modus Met autofocus kunt u de focus instellen op uw Canon EOS Rebel T3 of T3i zonder tijdelijk het voorbeeld van de monitor te verliezen. Bovendien, in plaats van het selecteren van negen autofocuspunten, verplaatst u eenvoudig een enkel scherpstelpunt over uw onderwerp. Aan de andere kant is de autofocus van de Live-modus merkbaar langzamer dan in de Quick-modus, en ...

Bewerkers keuze

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Tekstgrootte wordt ingesteld in uw Word 2016 document gebaseerd over de meting van de oude letterzetter, ook wel punten genoemd. Hier zijn enkele aandachtspunten waarmee u rekening moet houden bij het opmaken van tekst in Word: hoe groter de puntgrootte, hoe groter de tekst. De meeste gedrukte tekst is 10 of 12 punten lang. Koppen zijn meestal 14 ...

Grammatica controleren in Word 2007 - dummies

Grammatica controleren in Word 2007 - dummies

Naast het controleren op correcte spelling, kunt u met Word 2007 ook om uw documenten te bewijzen om grammaticale fouten te voorkomen. U kunt de grammaticasuggesties van Word bekijken terwijl u door het document bladert, of u kunt een traditionele spellingcontrole uitvoeren. Word biedt u zelfs de kans om de gemarkeerde fout te onderzoeken en meer te leren van ...

Spelling controleren terwijl u typt in Word 2013 - dummies

Spelling controleren terwijl u typt in Word 2013 - dummies

Woord 2013 heeft een interne bibliotheek vol met ontelbare woorden, allemaal correct gespeld. Telkens wanneer u een woord typt, wordt het vergeleken met dat woordenboek. Wanneer het woord niet wordt gevonden, wordt dit als verdacht gemarkeerd in uw document. Het merk is een rode zigzaglijn. Mijn advies: blijf typen. Laat de "rode zigzag van een ...