Awọn ọna kika faili ni data nla: eto ẹkọ kukuru

Awọn ọna kika faili ni data nla: eto ẹkọ kukuru
Oju ojo oriṣa nipasẹ Remarin

Egbe Mail.ru awọsanma Solutions awọn ipese translation ti awọn article ẹlẹrọ Rahul Bhatia lati Clairvoyant nipa kini awọn ọna kika faili ti o wa ninu data nla, kini awọn ẹya ti o wọpọ julọ ti awọn ọna kika Hadoop ati ọna kika wo ni o dara lati lo.

Kini idi ti awọn ọna kika faili oriṣiriṣi nilo?

Igo igo iṣẹ pataki kan fun awọn ohun elo ti o ni agbara HDFS gẹgẹbi MapReduce ati Spark ni akoko ti o gba lati wa, ka, ati kọ data. Awọn iṣoro wọnyi jẹ idapọ nipasẹ iṣoro ni ṣiṣakoso awọn eto data nla ti a ba ni ero idagbasoke dipo ọkan ti o wa titi, tabi ti awọn ihamọ ibi ipamọ ba wa.

Ṣiṣẹda data nla pọ si fifuye lori ipilẹ-iṣẹ ibi-ipamọ - Hadoop tọju data lainidi lati ṣaṣeyọri ifarada ẹbi. Ni afikun si awọn disiki, ero isise, nẹtiwọọki, eto titẹ sii / o wu, ati bẹbẹ lọ ti kojọpọ. Bi iwọn didun data ṣe n dagba, bẹ naa ni idiyele ti sisẹ ati titoju rẹ.

Awọn ọna kika faili oriṣiriṣi ni Hadoop ti a ṣe lati yanju awọn iṣoro wọnyi ni deede. Yiyan ọna kika faili ti o yẹ le pese diẹ ninu awọn anfani pataki:

  1. Yiyara kika akoko.
  2. Yiyara gbigbasilẹ akoko.
  3. Awọn faili ti a pin.
  4. Atilẹyin fun itankalẹ eto.
  5. Atilẹyin funmorawon ti fẹ.

Diẹ ninu awọn ọna kika faili jẹ ipinnu fun lilo gbogbogbo, awọn miiran fun awọn lilo ni pato diẹ sii, ati diẹ ninu jẹ apẹrẹ lati pade awọn abuda data kan pato. Nitorina yiyan jẹ ohun ti o tobi gaan.

Avro ọna kika faili

fun data serialization Avro ti wa ni o gbajumo ni lilo - o orisun okun, iyẹn ni, ọna kika ipamọ data okun ni Hadoop. O tọju eto naa ni ọna kika JSON, jẹ ki o rọrun lati ka ati tumọ nipasẹ eyikeyi eto. Awọn data ara wa ni alakomeji kika, iwapọ ati daradara.

Eto serialization Avro jẹ didoju ede. Awọn faili le ni ilọsiwaju ni awọn ede oriṣiriṣi, lọwọlọwọ C, C++, C #, Java, Python ati Ruby.

Ẹya bọtini kan ti Avro ni atilẹyin ti o lagbara fun awọn eto data ti o yipada ni akoko pupọ, iyẹn ni, dagbasoke. Avro loye awọn iyipada ero-piparẹ, fifi kun, tabi yiyipada awọn aaye.

Avro ṣe atilẹyin fun ọpọlọpọ awọn ẹya data. Fun apẹẹrẹ, o le ṣẹda igbasilẹ ti o ni akojọpọ, iru ti a ṣe akojọ, ati igbasilẹ kan.

Awọn ọna kika faili ni data nla: eto ẹkọ kukuru
Ọna kika yii jẹ apẹrẹ fun kikọ si agbegbe ibalẹ (iyipada) ti adagun data kan (data lake, tabi data lake – a gbigba ti awọn instances fun titoju orisirisi orisi ti data ni afikun si awọn orisun data taara).

Nitorinaa, ọna kika yii dara julọ fun kikọ si agbegbe ibalẹ ti adagun data fun awọn idi wọnyi:

  1. Awọn data lati agbegbe yii ni a maa n ka ni gbogbo rẹ fun sisẹ siwaju nipasẹ awọn ọna ṣiṣe isalẹ - ati ọna kika ti o da lori ila jẹ daradara siwaju sii ninu ọran yii.
  2. Awọn ọna ṣiṣe ti o wa ni isalẹ le ni irọrun gba awọn tabili apẹrẹ lati awọn faili — ko si iwulo lati tọju awọn eto ni lọtọ ni ibi ipamọ meta meta.
  3. Eyikeyi iyipada si ero atilẹba ti ni irọrun ni ilọsiwaju (itankalẹ ero-ọrọ).

Parquet File kika

Parquet jẹ ọna kika faili orisun ṣiṣi fun Hadoop ti o tọju iteeye data ẹya ni alapin columnar kika.

Akawe si awọn ibile kana ona, Parquet jẹ daradara siwaju sii ni awọn ofin ti ipamọ ati iṣẹ.

Eyi wulo paapaa fun awọn ibeere ti o ka awọn ọwọn kan pato lati tabili jakejado (ọpọlọpọ awọn ọwọn). Ṣeun si ọna kika faili, awọn ọwọn pataki nikan ni a ka, nitorinaa a tọju I/O si o kere ju.

A kekere digression ati alaye: Lati ni oye ọna kika faili Parquet daradara ni Hadoop, jẹ ki a wo kini orisun-iwe - ie columnar - kika jẹ. Ọna kika yii tọju awọn iye kanna fun iwe kọọkan papọ.

Fun apẹẹrẹ, igbasilẹ naa pẹlu ID, Orukọ, ati awọn aaye Ẹka. Ni ọran yii, gbogbo awọn iye ọwọn ID yoo wa ni ipamọ papọ, gẹgẹbi awọn iye ọwọn Orukọ, ati bẹbẹ lọ. Tabili naa yoo dabi iru eyi:

ID
Name
Eka

1
emp1
d1

2
emp2
d2

3
emp3
d3

Ni ọna kika okun, data naa yoo wa ni ipamọ bi atẹle:

1
emp1
d1
2
emp2
d2
3
emp3
d3

Ni ọna kika faili columnar, data kanna yoo wa ni fipamọ bi eleyi:

1
2
3
emp1
emp2
emp3
d1
d2
d3

Ọna kika ọwọn jẹ daradara diẹ sii nigbati o nilo lati beere awọn ọwọn pupọ lati tabili kan. Yoo ka awọn ọwọn ti a beere nikan nitori wọn wa nitosi. Ni ọna yii, awọn iṣẹ I/O jẹ o kere ju.

Fun apẹẹrẹ, o nilo iwe NAME nikan. IN okun kika Igbasilẹ kọọkan ninu dataset nilo lati kojọpọ, ṣe atuntu nipasẹ aaye, ati lẹhinna fa jade data NAME. Ọna kika iwe gba ọ laaye lati lu taara si iwe Orukọ nitori gbogbo awọn iye fun iwe yẹn ti wa ni ipamọ papọ. O ko ni lati ọlọjẹ gbogbo gbigbasilẹ.

Nitorinaa, ọna kika columnar ṣe ilọsiwaju iṣẹ ṣiṣe nitori pe o nilo akoko wiwa kere si lati de awọn ọwọn ti a beere ati dinku nọmba awọn iṣẹ I/O nitori awọn ọwọn ti o fẹ nikan ni a ka.

Ọkan ninu awọn ẹya ara oto Ajẹyọ ni wipe ni yi kika ti o le itaja data pẹlu iteeye ẹya. Eyi tumọ si pe ninu faili Parquet, paapaa awọn aaye itẹ-ẹiyẹ ni a le ka ni ẹyọkan laisi nini lati ka gbogbo awọn aaye ninu eto itẹ-ẹiyẹ. Parquet nlo shredding ati alugoridimu apejọ lati tọju awọn ẹya itẹle.

Awọn ọna kika faili ni data nla: eto ẹkọ kukuru
Lati loye ọna kika faili Parquet ni Hadoop, o nilo lati mọ awọn ofin wọnyi:

  1. Ẹgbẹ ila (ẹgbẹ kana): mogbonwa petele pipin ti data sinu awọn ori ila. Ẹgbẹ ila kan ni ajẹku ti iwe kọọkan ninu eto data.
  2. Ajẹkù ọwọn (iwe chunk): A ajeku ti kan pato iwe. Awọn ajẹkù ọwọn wọnyi n gbe ni ẹgbẹ kan pato ti awọn ori ila ati pe o ni iṣeduro lati wa ni contiguous ninu faili naa.
  3. Oju-iwe (ojúewé): Àwọn àjákù ọwọ̀n ti pín sí ojú ewé tí a kọ ọ̀kọ̀ọ̀kan. Awọn oju-iwe naa ni akọle ti o wọpọ, nitorinaa o le fo awọn ti ko wulo nigbati o ba nka.

Awọn ọna kika faili ni data nla: eto ẹkọ kukuru
Nibi akọle nikan ni nọmba idan naa ni PAR1 (4 baiti) eyiti o ṣe idanimọ faili bi faili Parquet.

Ẹsẹ naa sọ nkan wọnyi:

  1. Metadata faili ti o ni awọn ipoidojuko ibẹrẹ ti metadata iwe kọọkan. Nigbati o ba n ka iwe, o gbọdọ kọkọ ka metadata faili lati wa gbogbo awọn ajẹku ọwọn ti iwulo. Awọn ipin iwe yẹ ki o wa ni kika lẹsẹsẹ. Awọn metadata miiran pẹlu ẹya kika, eto, ati eyikeyi afikun bọtini iye orisii.
  2. Metadata ipari (4 baiti).
  3. idan nọmba PAR1 (4 baiti).

ORC faili kika

Iṣapeye ọna kika faili ila-iwe (Ọwọn ila ti o dara julọ, CRO) nfunni ni ọna ti o munadoko pupọ lati tọju data ati pe a ṣe apẹrẹ lati bori awọn idiwọn ti awọn ọna kika miiran. Tọju data ni fọọmu iwapọ pipe, gbigba ọ laaye lati fo awọn alaye ti ko wulo - laisi iwulo ikole nla, eka tabi awọn atọka itọju pẹlu ọwọ.

Awọn anfani ti ọna kika ORC:

  1. Faili kan jẹ iṣẹjade ti iṣẹ-ṣiṣe kọọkan, eyiti o dinku fifuye lori NameNode (ipin orukọ).
  2. Atilẹyin fun awọn iru data Hive, pẹlu DateTime, eleemewa ati awọn iru data idiju (ipilẹ, atokọ, maapu ati apapọ).
  3. Kika nigbakanna ti faili kanna nipasẹ oriṣiriṣi awọn ilana igbasilẹ Recorder.
  4. Agbara lati pin awọn faili laisi ọlọjẹ fun awọn asami.
  5. Iṣiro ti ipin iranti okiti ti o pọju ti o ṣeeṣe fun awọn ilana kika/kọ da lori alaye ninu ẹlẹsẹ faili.
  6. Metadata ti wa ni ipamọ ni ọna kika serialization alakomeji Protocol Buffers, eyiti o gba aaye laaye lati ṣafikun ati yọkuro.

Awọn ọna kika faili ni data nla: eto ẹkọ kukuru
ORC n tọju awọn akojọpọ awọn okun sinu faili kan, ati laarin ikojọpọ, data okun ti wa ni ipamọ ni ọna kika ọwọn.

Faili ORC kan tọju awọn ẹgbẹ ti awọn laini ti a pe ni awọn ila ati alaye atilẹyin ni isalẹ ti faili naa. Iwe afọwọkọ ti o wa ni ipari faili naa ni awọn paramita funmorawon ati iwọn ẹsẹ fisinuirindigbindigbin.

Iwọn adikala aiyipada jẹ 250 MB. Nitori iru awọn ila nla bẹ, kika lati HDFS ni a ṣe daradara siwaju sii: ni awọn bulọọki contiguous nla.

Ẹsẹ-faili naa ṣe igbasilẹ atokọ ti awọn ọna inu faili, nọmba awọn ori ila fun ọna kan, ati iru data ti iwe kọọkan. Abajade iye ti kika, min, max ati apao fun iwe kọọkan ni a tun kọ sibẹ.

Ẹsẹ ti rinhoho naa ni itọsọna kan ti awọn ipo ṣiṣan.

Awọn data kana ti wa ni lilo nigba ti Antivirus tabili.

Data atọka pẹlu awọn iye ti o kere julọ ati ti o pọju fun iwe kọọkan ati ipo ti awọn ori ila ni iwe kọọkan. Awọn atọka ORC jẹ lilo fun yiyan awọn ila ati awọn ẹgbẹ ila nikan, kii ṣe fun idahun awọn ibeere.

Afiwera ti o yatọ si ọna kika faili

Avro akawe si Parquet

  1. Avro jẹ ọna kika ibi ipamọ kana, lakoko ti Parquet tọju data ni awọn ọwọn.
  2. Parquet dara julọ fun awọn ibeere itupalẹ, afipamo awọn iṣẹ ṣiṣe kika ati data ibeere jẹ daradara siwaju sii ju awọn kikọ lọ.
  3. Awọn iṣẹ kikọ ni Avro ni a ṣe daradara diẹ sii ju ni Parquet.
  4. Avro ṣe pẹlu itankalẹ Circuit diẹ sii ni idagbasoke. Parquet ṣe atilẹyin afikun eto nikan, lakoko ti Avro ṣe atilẹyin itankalẹ multifunctional, iyẹn ni, fifi kun tabi yi awọn ọwọn pada.
  5. Parquet jẹ apẹrẹ fun ṣiṣe ibeere ipin ti awọn ọwọn ni tabili ọwọn-pupọ. Avro dara fun awọn iṣẹ ETL nibiti a ti beere gbogbo awọn ọwọn.

ORC vs Parquet

  1. Awọn ile itaja Parquet ti iteeye data dara julọ.
  2. ORC dara julọ lati sọ asọtẹlẹ titari.
  3. ORC ṣe atilẹyin awọn ohun-ini ACID.
  4. ORC rọ data dara julọ.

Kini ohun miiran lati ka lori koko:

  1. Itupalẹ data nla ninu awọsanma: bii ile-iṣẹ ṣe le di orisun data.
  2. Itọsọna onirẹlẹ si Awọn ero aaye data.
  3. ikanni Telegram wa nipa iyipada oni-nọmba.

orisun: www.habr.com

Fi ọrọìwòye kun