Formati tal-fajls fil-big data: programm edukattiv qasir

Formati tal-fajls fil-big data: programm edukattiv qasir
Deity tat-temp minn Remarin

Team Mail.ru Soluzzjonijiet Cloud offerti traduzzjoni tal-artiklu inġinier Rahul Bhatia minn Clairvoyant dwar liema formati ta 'fajls hemm fil-big data, x'inhuma l-aktar karatteristiċi komuni ta' formati Hadoop u liema format huwa aħjar li tuża.

Għaliex huma meħtieġa formati ta' fajls differenti?

Ostakolu ewlieni tal-prestazzjoni għal applikazzjonijiet li jaħdmu bl-HDFS bħal MapReduce u Spark huwa ż-żmien li tieħu biex tfittex, taqra u tikteb id-dejta. Dawn il-problemi huma aggravati mid-diffikultà fil-ġestjoni ta 'settijiet ta' dejta kbar jekk ikollna skema li tevolvi aktar milli waħda fissa, jew jekk ikun hemm xi restrizzjonijiet ta 'ħażna.

L-ipproċessar tad-dejta kbira jżid it-tagħbija fuq is-subsistema tal-ħażna - Hadoop jaħżen id-dejta b'mod żejda biex tinkiseb tolleranza għall-ħsarat. Minbarra d-diski, il-proċessur, in-netwerk, is-sistema ta 'input/output, eċċ huma mgħobbija. Hekk kif il-volum tad-dejta jikber, hekk ukoll tiżdied l-ispiża tal-ipproċessar u l-ħażna tagħha.

Formati varji tal-fajl fi Hadoop ivvintat biex issolvi preċiżament dawn il-problemi. L-għażla tal-format tal-fajl xieraq tista' tipprovdi xi benefiċċji sinifikanti:

  1. Ħin tal-qari aktar mgħaġġel.
  2. Ħin ta 'reġistrazzjoni aktar mgħaġġel.
  3. Fajls maqsuma.
  4. Appoġġ għall-evoluzzjoni tal-iskema.
  5. Appoġġ għall-kompressjoni estiża.

Xi formati tal-fajls huma maħsuba għal użu ġenerali, oħrajn għal użi aktar speċifiċi, u xi wħud huma ddisinjati biex jissodisfaw karatteristiċi speċifiċi tad-dejta. Allura l-għażla hija verament pjuttost kbira.

Format tal-fajl Avro

Għal serialization tad-data Avro huwa użat ħafna - it string ibbażat, jiġifieri, format ta 'ħażna ta' data string f'Hadoop. Hija taħżen l-iskema f'format JSON, u tagħmilha faċli biex tinqara u tinterpreta minn kwalunkwe programm. Id-dejta nnifisha hija f'format binarju, kompatta u effiċjenti.

Is-sistema ta' serialization ta' Avro hija newtrali fil-lingwa. Fajls jistgħu jiġu pproċessati f'varjetà ta 'lingwi, bħalissa C, C++, C#, Java, Python u Ruby.

Karatteristika ewlenija ta 'Avro hija l-appoġġ robust tiegħu għall-iskemi tad-dejta li jinbidlu maż-żmien, jiġifieri, jevolvu. Avro jifhem il-bidliet fl-iskema—tħassir, iż-żieda, jew it-tibdil tal-oqsma.

Avro jappoġġja varjetà ta 'strutturi tad-dejta. Pereżempju, tista 'toħloq rekord li fih firxa, tip enumerat, u subrekord.

Formati tal-fajls fil-big data: programm edukattiv qasir
Dan il-format huwa ideali biex tikteb fiż-żona tal-inżul (transizzjoni) ta' data lake (data lag, jew data lake - ġabra ta’ każijiet għall-ħażna ta’ diversi tipi ta’ data flimkien mas-sorsi tad-data direttament).

Għalhekk, dan il-format huwa l-aktar adattat għall-kitba fiż-żona tal-inżul ta 'lag tad-dejta għar-raġunijiet li ġejjin:

  1. Id-dejta minn din iż-żona normalment tinqara fl-intier tagħha għal aktar ipproċessar minn sistemi downstream - u format ibbażat fuq ringieli huwa aktar effiċjenti f'dan il-każ.
  2. Is-sistemi downstream jistgħu faċilment jirkupraw tabelli ta 'skema minn fajls—m'hemmx bżonn li taħżen skemi separatament f'ħażna meta esterna.
  3. Kwalunkwe bidla fl-iskema oriġinali tiġi pproċessata faċilment (evoluzzjoni tal-iskema).

Format tal-Fajl tal-Parquet

Parquet huwa format ta 'fajl ta' sors miftuħ għal Hadoop li jaħżen strutturi tad-dejta mnaqqsa f'format ta' kolonni ċatt.

Meta mqabbel mal-approċċ ta 'ringiela tradizzjonali, Parquet huwa aktar effiċjenti f'termini ta' ħażna u prestazzjoni.

Dan huwa speċjalment utli għal mistoqsijiet li jaqraw kolonni speċifiċi minn tabella wiesgħa (ħafna kolonni). Grazzi għall-format tal-fajl, jinqraw biss il-kolonni meħtieġa, għalhekk I/O jinżamm għall-minimu.

Digressjoni żgħira u spjegazzjoni: Biex tifhem aħjar il-format tal-fajl Parquet f'Hadoop, ejja naraw x'inhu format ibbażat fuq kolonna - jiġifieri kolonni -. Dan il-format jaħżen valuri simili għal kull kolonna flimkien.

Per eżempju, ir-rekord jinkludi l-oqsma ID, Isem, u Dipartiment. F'dan il-każ, il-valuri kollha tal-kolonna tal-ID se jinħażnu flimkien, kif ukoll il-valuri tal-kolonna tal-Isem, eċċ. It-tabella tidher xi ħaġa bħal din:

ID
isem
Dipartiment

1
emp1
d1

2
emp2
d2

3
emp3
d3

F'format ta' string, id-dejta tiġi ssejvjata kif ġej:

1
emp1
d1
2
emp2
d2
3
emp3
d3

F'format ta' fajl kolonni, l-istess dejta tiġi ssejvjata bħal dan:

1
2
3
emp1
emp2
emp3
d1
d2
d3

Il-format kolonni huwa aktar effiċjenti meta jkollok bżonn tagħmel mistoqsija fuq kolonni multipli minn tabella. Se jaqra biss il-kolonni meħtieġa minħabba li huma biswit. B'dan il-mod, l-operazzjonijiet I/O jinżammu għall-minimu.

Per eżempju, għandek bżonn biss il-kolonna ISEM. IN format string Kull rekord fis-sett tad-dejta jeħtieġ li jitgħabba, jiġi analizzat skont il-qasam, u mbagħad jiġi estratt id-dejta tal-ISEM. Il-format tal-kolonna jippermettilek li tħaffer direttament fil-kolonna Isem għaliex il-valuri kollha għal dik il-kolonna huma maħżuna flimkien. M'għandekx għalfejn tiskennja r-reġistrazzjoni kollha.

Għalhekk, il-format kolonni jtejjeb il-prestazzjoni tal-mistoqsija minħabba li jeħtieġ inqas ħin ta 'tfittxija biex jasal għall-kolonni meħtieġa u jnaqqas in-numru ta' operazzjonijiet I/O minħabba li jinqraw biss il-kolonni mixtieqa.

Waħda mill-karatteristiċi uniċi Parquet huwa li f'dan il-format jista jaħżnu data bi strutturi nested. Dan ifisser li f'fajl Parquet, anke oqsma nested jistgħu jinqraw individwalment mingħajr ma jkollhom jaqraw l-oqsma kollha fl-istruttura nested. Parquet juża algoritmu ta 'tqattigħ u assemblaġġ biex jaħżen strutturi nested.

Formati tal-fajls fil-big data: programm edukattiv qasir
Biex tifhem il-format tal-fajl Parquet f'Hadoop, trid tkun taf it-termini li ġejjin:

  1. Grupp ta' kordi (grupp ta' ringieli): diviżjoni orizzontali loġika tad-dejta f'ringieli. Grupp ta' ringiela jikkonsisti fi framment ta' kull kolonna fis-sett tad-dejta.
  2. Framment tal-kolonna (biċċa kolonna): Framment ta' kolonna speċifika. Dawn il-frammenti tal-kolonna jgħixu fi grupp speċifiku ta 'ringieli u huma garantiti li jkunu kontigwi fil-fajl.
  3. Paġna (paġna): Il-frammenti tal-kolonna huma maqsuma f'paġni miktuba waħda wara l-oħra. Il-paġni għandhom titolu komuni, sabiex tkun tista’ taqbeż dawk mhux meħtieġa meta taqra.

Formati tal-fajls fil-big data: programm edukattiv qasir
Hawnhekk it-titlu fih biss in-numru maġiku PAR1 (4 bytes) li jidentifika l-fajl bħala fajl Parquet.

Il-footer jgħid dan li ġej:

  1. Metadejta tal-fajl li fiha l-koordinati tal-bidu tal-metadejta ta’ kull kolonna. Meta taqra, l-ewwel trid taqra l-metadata tal-fajl biex issib il-frammenti kollha tal-kolonna ta 'interess. Il-porzjonijiet tal-kolonna għandhom imbagħad jinqraw b'mod sekwenzjali. Metadejta oħra tinkludi l-verżjoni tal-format, l-iskema, u kwalunkwe par addizzjonali ta’ valuri ewlenin.
  2. Tul tal-metadata (4 bytes).
  3. numru maġiku PAR1 (4 bytes).

Format tal-Fajl ORC

Format ottimizzat tal-fajl ta' ringiela-kolonna (Kolonna tar-Ringiela Ottimizzata, CRO) toffri mod effiċjenti ħafna biex taħżen id-data u kienet iddisinjata biex tegħleb il-limitazzjonijiet ta 'formati oħra. Taħżen id-dejta f'forma perfettament kompatta, li tippermettilek taqbeż dettalji mhux meħtieġa - mingħajr ma teħtieġ il-kostruzzjoni ta 'indiċi kbar, kumplessi jew miżmuma manwalment.

Vantaġġi tal-format ORC:

  1. Fajl wieħed huwa l-output ta 'kull kompitu, li jnaqqas it-tagħbija fuq NameNode (node ​​tal-isem).
  2. Appoġġ għat-tipi ta 'dejta Hive, inklużi DateTime, tipi ta' dejta deċimali u kumplessi (struct, lista, mappa u unjoni).
  3. Qari simultanju tal-istess fajl minn proċessi RecordReader differenti.
  4. Kapaċità li taqsam fajls mingħajr skannjar għal markaturi.
  5. Stima tal-allokazzjoni massima possibbli tal-memorja tal-heap għal proċessi ta' qari/kitba bbażata fuq informazzjoni fil-footer tal-fajl.
  6. Il-metadejta hija maħżuna fil-format ta' serialization binarju tal-Protocol Buffers, li jippermetti li jiżdiedu u jitneħħew oqsma.

Formati tal-fajls fil-big data: programm edukattiv qasir
L-ORC jaħżen kollezzjonijiet ta' kordi f'fajl wieħed, u fi ħdan il-ġbir, id-dejta tal-kordi tinħażen f'format kolonni.

Fajl ORC jaħżen gruppi ta' linji msejħa strixxi u informazzjoni ta' sostenn fil-footer tal-fajl. Il-Postscript fl-aħħar tal-fajl fih parametri tal-kompressjoni u d-daqs tal-footer kompressat.

Id-daqs default tal-istrixxa huwa 250 MB. Minħabba strixxi kbar bħal dawn, il-qari minn HDFS isir b'mod aktar effiċjenti: fi blokki kbar kontigwi.

Il-footer tal-fajl jirreġistra l-lista ta’ korsiji fil-fajl, in-numru ta’ ringieli għal kull korsija, u t-tip ta’ dejta ta’ kull kolonna. Il-valur li jirriżulta tal-għadd, min, max u somma għal kull kolonna huwa wkoll miktub hemmhekk.

Il-footer tal-istrixxa fih direttorju tal-postijiet tan-nixxiegħa.

Id-data tar-ringiela tintuża meta jiġu skennjati t-tabelli.

Id-dejta tal-indiċi tinkludi l-valuri minimi u massimi għal kull kolonna u l-pożizzjoni tar-ringieli f’kull kolonna. L-indiċi ORC jintużaw biss biex jintgħażlu strixxi u gruppi ta’ ringieli, mhux biex iwieġbu mistoqsijiet.

Tqabbil ta 'formati ta' fajls differenti

Avro meta mqabbel mal-Parquet

  1. Avro huwa format ta 'ħażna ta' ringiela, filwaqt li Parquet jaħżen id-dejta f'kolonni.
  2. Parquet huwa adattat aħjar għal mistoqsijiet analitiċi, jiġifieri l-operazzjonijiet ta 'qari u l-interrogazzjoni tad-dejta huma ħafna aktar effiċjenti mill-kitba.
  3. L-operazzjonijiet tal-kitba f'Avro jitwettqu b'mod aktar effiċjenti milli f'Parquet.
  4. Avro jittratta l-evoluzzjoni taċ-ċirkwit b'mod aktar matur. Parquet jappoġġja biss iż-żieda ta 'skema, filwaqt li Avro jappoġġja evoluzzjoni multifunzjonali, jiġifieri, iż-żieda jew il-bidla ta' kolonni.
  5. Parquet huwa ideali għall-mistoqsijiet ta 'sottosett ta' kolonni f'tabella b'ħafna kolonni. Avro huwa adattat għal operazzjonijiet ETL fejn aħna nistaqsu l-kolonni kollha.

ORC vs Parquet

  1. Parquet jaħżen data nested aħjar.
  2. ORC huwa aktar adattat għall-predikat pushdown.
  3. ORC jappoġġja proprjetajiet ACID.
  4. ORC jikkompressa d-dejta aħjar.

X'iktar li taqra fuq is-suġġett:

  1. Analiżi tad-dejta kbira fil-cloud: kif kumpanija tista' ssir orjentata lejn id-dejta.
  2. Gwida Umli għall-Iskemi tad-Database.
  3. Il-kanal tat-telegramma tagħna dwar it-trasformazzjoni diġitali.

Sors: www.habr.com

Żid kumment