Acasă Finanțe personale Comprimarea datelor în Hadoop - dummies

Comprimarea datelor în Hadoop - dummies

Video: Diferentele dintre formatele foto JPEG si RAW 2024

Video: Diferentele dintre formatele foto JPEG si RAW 2024
Anonim

Volumele imense de date care sunt realități într-o desfășurare tipică Hadoop fac ca compresia să fie o necesitate. Comprimarea datelor vă salvează cu adevărat un spațiu de stocare și este sigur că veți accelera mișcarea acelor date în cadrul clusterului. Nu este surprinzător faptul că un număr de sisteme de compresie disponibile, numite codecuri, sunt acolo pentru a vă putea lua în considerare.

Într-o implementare Hadoop, aveți de-a face (potențial) cu un număr destul de mare de noduri slave individuale, fiecare dintre acestea având un număr de unități de disc mari. Nu este neobișnuit ca un nod secundar să aibă mai mult de 45TB de spațiu de stocare brut disponibil pentru HDFS.

Mai întâi, câțiva termeni de bază: un codec, care este o formă scurtă de co mpressor / dec ambele) pentru comprimarea și decompresia datelor; este implementarea unui algoritm de compresie / decompresie.

Trebuie să știți că unele codec-uri suportă ceva numit compresie splittable și că codec-urile diferă atât în ​​viteza cu care pot comprima, cât și în decomprima datele și gradul în care pot comprima.

Comprimarea prin divizare

este un concept important într-un context Hadoop. Modul în care lucrează Hadoop este că fișierele sunt împărțite dacă sunt mai mari decât setarea dimensiunii blocului fișierului, iar divizările individuale ale fișierelor pot fi procesate în paralel de către cartografi diferite.

Cu majoritatea codec-urilor, împărțirea fișierelor de text nu poate fi decomprimată independent de alte split-uri din același fișier, deci codec-urile se consideră a fi non-splittable, astfel încât procesarea MapReduce este limitată la un singur mapper.

Fiindcă fișierul poate fi decomprimat numai ca un întreg și nu ca părți individuale bazate pe împărțiri, nu poate fi procesată paralel un astfel de fișier, iar performanța ar putea avea un impact uriaș ca un loc de așteptare pentru un cartograf unic procesează mai multe blocuri de date care nu pot fi decomprimate independent.

Compresia de tip splittable este doar un factor pentru fișierele text. În cazul fișierelor binare, codecurile de compresie Hadoop comprimă datele dintr-un container codat binar, în funcție de tipul de fișier (de exemplu, un SequenceFile, Avro sau ProtocolBuffer).

Vorbind despre performanță, există un cost (din punctul de vedere al procesării resurselor și timpului) asociat cu comprimarea datelor care sunt scrise în clusterul dvs. Hadoop.

Cu calculatoare, ca și cu viața, nimic nu este gratuit. Când comprimați datele, faceți schimb de cicluri de procesare pentru spațiu pe disc. Iar când se citesc aceste date, există un cost asociat și cu decomprimarea datelor. Asigurați-vă că ați cântărit avantajele economiilor de stocare față de costurile suplimentare de performanță.

Dacă fișierul de intrare într-o lucrare MapReduce conține date comprimate, timpul necesar pentru a citi acele date din HDFS este redus și performanța lucrării este îmbunătățită. Datele de intrare sunt decomprimate automat atunci când sunt citite de MapReduce.

Extensia de nume de fișier de intrare determină ce codec suportat este utilizat pentru a decomprima automat datele. De exemplu, a. extensia gz identifică fișierul ca fișier comprimat în format gzip.

De asemenea, poate fi utilă comprimarea ieșirii intermediare a fazei hărții în fluxul de procesare MapReduce. Deoarece ieșirea funcției de hartă este scrisă pe disc și expediată în rețea pentru a reduce sarcinile, comprimarea ieșirii poate duce la îmbunătățiri semnificative ale performanței.

Și dacă doriți să stocați ieșirea MapReduce ca fișiere istorice pentru utilizare ulterioară, comprimarea acestor date poate reduce semnificativ spațiul necesar în HDFS.

Există mulți algoritmi și instrumente de compresie diferite, iar caracteristicile și punctele lor forte variază. Cel mai comun compromis este între rapoartele de compresie (gradul în care este comprimat un fișier) și comprimarea / decompresia vitezelor. Cadrul Hadoop acceptă mai multe codecuri. Cadrul comprimă și decomprimă în mod transparent majoritatea formatelor de fișiere de intrare și de ieșire.

Următoarea listă identifică unele codecuri comune care sunt suportate de cadrul Hadoop. Asigurați-vă că alegeți codecul care se potrivește cel mai bine cerințelor din cazul dvs. special de utilizare (de exemplu, cu sarcini de lucru unde viteza de procesare este importantă, ați ales un codec cu viteze de decompresie ridicate):

Gzip:

  • utilitate care a fost adoptată de proiectul GNU, Gzip (scurt pentru GNU zip) generează fișiere comprimate care au o. extensia gz. Puteți folosi comanda gunzip pentru a decomprima fișiere create de un număr de utilitare de compresie, inclusiv Gzip. Bzip2:

  • Din punctul de vedere al utilizabilității, Bzip2 și Gzip sunt similare. Bzip2 generează un raport de compresie mai bun decât Gzip, dar este mult mai lent. De fapt, din toate codecurile de compresie disponibile în Hadoop, Bzip2 este de departe cel mai lent. Dacă creați o arhivă pe care rareori trebuie să o interogați și spațiul este la o primă mare, atunci Bzip2 ar putea fi în valoare.

    Snappy:

  • Codecul Snappy de la Google oferă rate de compresie modeste, dar viteze rapide de compresie și decompresie. (De fapt, are cele mai rapide viteze de decompresie, ceea ce o face foarte de dorit pentru seturile de date care se vor întreba deseori.) Codecul Snappy este integrat în Hadoop Common, un set de utilități comune care suportă alte subproiecte Hadoop. Puteți folosi Snappy ca un add-on pentru versiunile mai recente ale Hadoop care nu oferă încă suport pentru codecuri Snappy.

    LZO:

  • Similar cu Snappy, LZO (scurt pentru Lempel-Ziv-Oberhumer, trioul oamenilor de știință care a venit cu algoritmul) oferă rate de compresie modeste, dar viteze rapide de compresie și decompresie. LZO este licențiat sub licența GNU Public (GPL). LZO acceptă compresie splittable, care permite procesarea paralelă a fisierelor de fișiere comprimate prin lucrarea dvs. MapReduce. LZO trebuie să creeze un index atunci când comprimă un fișier, deoarece cu blocuri de compresie cu lungime variabilă, este necesar un index pentru a spune mapatorului unde poate împărți în siguranță fișierul comprimat. LZO este cu adevărat de dorit dacă trebuie să comprimați fișiere text.

    Codecuri Hadoop

Codec

Extensie fișier Divizibil? Grad de compresie Viteză de compresie Gzip
. gz Nu Mediu Mediu Bzip2
. bz2 Da Mare Slow Snappy
. arțăgos Nu Mediu Rapid LZO
. Mediu Rapid Toți algoritmi de compresie trebuie să facă compromisuri între gradul de compresie și viteza de compresie pe care le pot obține. Codecurile listate vă oferă un anumit control asupra echilibrului dintre raportul de compresie și viteză la timpul de compresie. De exemplu, Gzip vă permite să reglați viteza de comprimare prin specificarea unui întreg (sau cuvânt cheie) negativ, unde -1 indică cel mai rapid nivel de compresie și -9 indică cel mai lent nivel de compresie. Nivelul implicit de comprimare este -6.
Comprimarea datelor în Hadoop - dummies

Alegerea editorilor

Administrator de rețea: Zone de căutare inversă - dummies

Administrator de rețea: Zone de căutare inversă - dummies

Interogări DNS obișnuite sunt interogări de căutare înainte corespunde unui nume de domeniu complet calificat. O căutare inversă este opusul unei căutări forward: returnează numele de domeniu complet calificat al unei gazde pe baza adresei sale IP. Căutările inverse sunt posibile din cauza unui domeniu special numit ...

Rețea Elemente de bază: Clienți și servere - manechine

Rețea Elemente de bază: Clienți și servere - manechine

Computerul de rețea care conține hard disk-urile, imprimantele și alte resurse care sunt partajate cu alte calculatoare de rețea se numește un server. Acest termen vine în repetate rânduri, deci trebuie să-l amintiți. Scrie-o pe spatele mâinii tale stângi. Orice computer care nu este un server este numit client. Aveți ...

Retea Bazele: Poduri - dummies

Retea Bazele: Poduri - dummies

O punte este un dispozitiv care conecteaza doua retele astfel incat sa actioneze ca si cum ar fi o rețea. Podurile sunt utilizate pentru a împărți o rețea mare în două rețele mai mici din motive de performanță. Vă puteți gândi la un pod ca pe un repetor inteligent. Repetoarele ascultă semnale care coboară pe un cablu de rețea, amplifică ...

Alegerea editorilor

ÎMprumuta și tweak idei de la alte comunități online - dummies

ÎMprumuta și tweak idei de la alte comunități online - dummies

, Mai degrabă decât să ia ideile altcuiva complet pentru dvs. comunitate online, încercați să riffați pe aceeași idee, dar nu atât de mult încât este evident că nu sunteți creierul din spatele brainstorming-ului. Idei sunt acolo pentru a lua, dar nu ar fi mai degrabă văzute ca cineva inovatoare, nu cineva care scours pe web ...

Branding Blogul tău

Branding Blogul tău

Branding blog-ul tău merge mult spre a face dacă este ușor de recunoscut pentru cititorii tăi. Când vedeți un punct roșu în interiorul unui cerc roșu, ce magazin vine în minte? Ce zici de acele arcuri de aur? Un nume de marcă apare în minte atunci când vedeți simbolul swoosh? La fel ca magazinele populare, restaurantele și încălțămintea ...

Construiți un Blog Mama care este Sellable - dummies

Construiți un Blog Mama care este Sellable - dummies

Dacă obiectivul pe termen lung este de a vinde blogul dvs. ar trebui să o construiască cu acest scop în minte. Evitați asocierea prea intensă a blogului cu marca dvs. personală. Un blog care poate fi valoros cu orice scriitor la cârma trebuie să îndeplinească majoritatea, dacă nu toate, următoarele criterii: Blogul este concentrat ...

Alegerea editorilor

Cum să creați o nouă campanie de anunțuri LinkedIn - dummies

Cum să creați o nouă campanie de anunțuri LinkedIn - dummies

LinkedIn oferă servicii de publicitate pentru afacerea dvs. Dacă vă decideți să utilizați LinkedIn ca instrument de marketing, va trebui doar să obțineți o nouă campanie de anunțuri în lucrări. Când sunteți gata să începeți o nouă campanie, urmați acești pași:

Opțiuni de filtrare pentru anunțul dvs. LinkedIn - manechine

Opțiuni de filtrare pentru anunțul dvs. LinkedIn - manechine

Ce opțiuni de filtrare aveți pentru anunțul dvs. LinkedIn? Alte rețele de publicitate vă permit să filtrați publicul vizat de câteva atribute cunoscute ale persoanei care vă va vedea anunțul, sexul și locația membrilor din public. LinkedIn vă permite să faceți un pas mai departe permițându-vă ...

Oferind și primind viziuni pe LinkedIn - manechine

Oferind și primind viziuni pe LinkedIn - manechine

Deși mulți oameni cred că "Nu este ceea ce știi, știi, "care este unul dintre principalele motive pentru care LinkedIn este atât de valoros, mulți oameni (recrutorii, angajații, directorii executivi, investitorii și altele) sunt foarte interesați de ceea ce știi. În mod logic, oamenii care vă cunosc cel mai bine sunt oamenii din rețeaua dvs., care ...