Ụdị faịlụ na nnukwu data: mmemme mmụta dị nkenke

Ụdị faịlụ na nnukwu data: mmemme mmụta dị nkenke
Chi ihu igwe nke Remarin

otu Mail.ru Cloud Solutions na-enye ntụgharị asụsụ edemede injinia Rahul Bhatia sitere na Clairvoyant banyere ụdị faịlụ dị na nnukwu data, kedu ihe njirimara kachasị nke ụdị Hadoop na nke usoro ka mma iji.

Kedu ihe kpatara achọrọ ụdị faịlụ dị iche iche?

Otu nnukwu ngwungwu arụmọrụ maka ngwa enyere HDFS dị ka MapReduce na Spark bụ oge ọ na-ewe iji chọọ, gụọ na dee data. Nsogbu ndị a na-esiwanye ike site na ijikwa nnukwu data data ma ọ bụrụ na anyị nwere atụmatụ na-agbanwe agbanwe karịa nke edoziri, ma ọ bụ ọ bụrụ na enwere ụfọdụ mgbochi nchekwa.

Ịhazi nnukwu data na-abawanye ibu dị na sistemụ nchekwa nchekwa - Hadoop na-echekwa data nke ọma iji nweta nnabata mmejọ. Na mgbakwunye na diski, a na-eburu ihe nhazi, netwọkụ, usoro ntinye / mmepụta, na ihe ndị ọzọ. Ka ọnụ ọgụgụ data na-eto eto, otú ahụ ka ọnụ ahịa nhazi na ịchekwa ya na-abawanye.

Ụdị faịlụ dị iche iche na Hadoop chepụtara iji dozie nsogbu ndị a kpọmkwem. Ịhọrọ usoro faịlụ kwesịrị ekwesị nwere ike inye ụfọdụ uru bara uru:

  1. Oge ọgụgụ ngwa ngwa.
  2. Oge ndekọ ọsọ ọsọ.
  3. faịlụ ekekọrịtara.
  4. Nkwado maka schema evolushọn.
  5. Nkwado mkpakọ gbasaara.

Ụfọdụ ụdị faịlụ bụ maka iji izugbe, ndị ọzọ maka ojiji ndị ọzọ akọwapụtara, na ụfọdụ emebere iji zute njirimara data akọwapụtara. Ya mere, nhọrọ dị nnọọ ukwuu.

Ụdị faịlụ Avro

Iji data serialization A na-ejikarị Avro eme ihe - ya eriri dabere, ya bụ, usoro nchekwa data eriri na Hadoop. Ọ na-echekwa atụmatụ ahụ n'ụdị JSON, na-eme ka ọ dị mfe ịgụ na ịkọwa site na mmemme ọ bụla. Data n'onwe ya dị n'ụdị ọnụọgụ abụọ, kọmpat na ịrụ ọrụ nke ọma.

Sistemụ serialization Avro na-anọpụ iche asụsụ. Enwere ike ịhazi faịlụ n'asụsụ dị iche iche, ugbu a C, C++, C #, Java, Python na Ruby.

Akụkụ bụ isi nke Avro bụ nkwado ya siri ike maka atụmatụ data na-agbanwe ka oge na-aga, ya bụ, malite. Avro ghọtara mgbanwe schema — ihichapụ, ịgbakwunye, ma ọ bụ na-agbanwe mpaghara.

Avro na-akwado usoro data dị iche iche. Dịka ọmụmaatụ, ị nwere ike ịmepụta ndekọ nwere nhazi, ụdị agụpụtara na ihe ndekọ.

Ụdị faịlụ na nnukwu data: mmemme mmụta dị nkenke
Usoro a dị mma maka ide na mpaghara ọdịda (ntụgharị) nke ọdọ data (ọdọ data, ma ọ bụ ọdọ mmiri data - nchịkọta oge maka ịchekwa ụdị data dị iche iche na mgbakwunye na isi mmalite data ozugbo).

Yabụ, usoro a kachasị mma maka idegara mpaghara ọdịda nke ọdọ data maka ebumnuche ndị a:

  1. A na-agụkarị data sitere na mpaghara a n'ozuzu ya maka nhazi ọzọ site na sistemụ mgbada - na usoro dabere na-arụ ọrụ nke ọma na nke a.
  2. Sistemu mgbada nwere ike iweghachite tebụl schema n'ụzọ dị mfe na faịlụ-ọ dịghị mkpa ịchekwaa schemas iche na nchekwa meta mpụga.
  3. A na-ahazi mgbanwe ọ bụla na schema mbụ (schema evolution).

Ụdị faịlụ Parquet

Parquet bụ usoro faịlụ mepere emepe maka Hadoop na-echekwa usoro data akwụrụ n'ụdị kọlụm dị larịị.

Tụnyere usoro ahịrị ọdịnala, Parquet na-arụ ọrụ nke ọma na nchekwa na arụmọrụ.

Nke a bara uru karịsịa maka ajụjụ ndị na-agụ kọlụm dị iche iche sitere na tebụl sara mbara (ọtụtụ ogidi). Ekele maka usoro faịlụ, ọ bụ naanị kọlụm ndị dị mkpa ka a na-agụ, ya mere, a na-edobe I/O na opekempe.

A obere digression na nkọwa: Iji ghọta nke ọma usoro faịlụ Parquet na Hadoop, ka anyị hụ ihe kọlụm dabere - ya bụ columnar - usoro. Usoro a na-echekwa ụkpụrụ ndị yiri ya maka kọlụm ọ bụla ọnụ.

Dịka ọmụmaatụ, ndekọ ahụ gụnyere ID, Aha, na ngalaba ngalaba. N'okwu a, a ga-echekwa ụkpụrụ kọlụm ID niile ọnụ, dịka ụkpụrụ kọlụm Aha, na ihe ndị ọzọ. Tebụl ahụ ga-adị ka nke a:

ID
aha
Department

1
Ogbogu Okonji
d1

2
Ogbogu Okonji
d2

3
Ogbogu Okonji
d3

N'ụdị eriri, a ga-echekwa data dị ka ndị a:

1
Ogbogu Okonji
d1
2
Ogbogu Okonji
d2
3
Ogbogu Okonji
d3

N'ụdị faịlụ columnar, a ga-echekwa otu data dị ka nke a:

1
2
3
Ogbogu Okonji
Ogbogu Okonji
Ogbogu Okonji
d1
d2
d3

Usoro kọlụm na-arụ ọrụ nke ọma mgbe ịchọrọ ịjụ ajụjụ ọtụtụ ogidi site na tebụl. Ọ ga-agụ naanị kọlụm achọrọ n'ihi na ha dị n'akụkụ. N'ụzọ dị otu a, a na-edobe ọrụ I/O ka ọ dị ntakịrị.

Dịka ọmụmaatụ, naanị kọlụm NAME ị chọrọ. N'ime usoro eriri Ekwesịrị ịkwanye ndekọ ọ bụla dị na dataset, tụgharịa ya na ubi, wee wepụta data NAME. Usoro kọlụm na-enye gị ohere ịkụda ala ozugbo na kọlụm Aha n'ihi na echekwara ụkpụrụ niile maka kọlụm ahụ ọnụ. Ịgaghị enyocha ndekọ niile.

Ya mere, usoro kọlụm na-eme ka arụmọrụ nke ajụjụ dịkwuo mma n'ihi na ọ na-achọ obere oge nyocha iji ruo na kọlụm achọrọ ma belata ọnụ ọgụgụ nke ọrụ I / O n'ihi na ọ bụ naanị ogidi ndị a chọrọ ka a na-agụ.

Otu n'ime njirimara pụrụ iche Ihe nkiri bụ na a format ọ nwere ike na-echekwa data na akwu ụlọ. Nke a pụtara na n'ime faịlụ Parquet, enwere ike ịgụ ọbụna ubi akwụghị n'otu n'otu na-agụghị mpaghara niile dị n'usoro akwụrụ. Parquet na-eji nbibi na mgbakọ algọridim iji chekwaa ụlọ akwụrụ.

Ụdị faịlụ na nnukwu data: mmemme mmụta dị nkenke
Iji ghọta usoro faịlụ Parquet na Hadoop, ịkwesịrị ịma usoro ndị a:

  1. Otu eriri (otu ahịrị): ezi uche na-ekewa data n'ime ahịrị. Otu ahiri nwere iberibe kọlụm ọ bụla na nhazi data.
  2. Iberibe kọlụm (mkpọkọ kọlụm): Iberibe nke otu kọlụm. Iberibe kọlụm ndị a na-ebi n'otu ahịrị ahịrị ma na-ekwe nkwa na ọ ga-aga n'ihu na faịlụ ahụ.
  3. Peeji (peeji): A na-ekewa iberibe kọlụm n'ime ibe ndị e dere n'otu n'otu. Ibe ndị ahụ nwere aha nkịtị, yabụ ị nwere ike ịwụpụ ndị na-adịghị mkpa mgbe ị na-agụ ya.

Ụdị faịlụ na nnukwu data: mmemme mmụta dị nkenke
Ebe aha aha nwere naanị nọmba anwansi PAR1 (4 bytes) nke na-achọpụta faịlụ ahụ dị ka faịlụ Parquet.

Onye n'okpuru na-ekwu nke a:

  1. metadata faịlụ nke nwere nhazi mmalite nke metadata kọlụm ọ bụla. Mgbe ị na-agụ, ị ga-ebu ụzọ gụọ metadata nke faịlụ ahụ ka ịchọta iberibe kọlụm niile nke mmasị. Ekwesịrị ịgụzie akụkụ kọlụm n'usoro. metadata ndị ọzọ gụnyere ụdị usoro, schema, yana ụzọ ụzọ igodo uru ọ bụla agbakwunyere.
  2. Ogologo metadata (4 bytes).
  3. nọmba anwansi PAR1 (4 bytes).

Ụdị faịlụ ORC

Ọkpụkpọ faịlụ ahịrị kọlụm kachasị (Oghere Ahịrị kachasị, CRO) na-enye ụzọ dị mma iji chekwaa data ma mee ya iji merie njedebe nke usoro ndị ọzọ. Na-echekwa data n'ụdị kọmpat zuru oke, na-enye gị ohere ịwụpụ nkọwa ndị na-enweghị isi - na-achọghị iwu nke nnukwu, mgbagwoju anya ma ọ bụ aka na-edozi.

Uru nke usoro ORC:

  1. Otu faịlụ bụ mmepụta nke ọrụ ọ bụla, nke na-ebelata ibu na NameNode (aha ọnụ).
  2. Nkwado maka ụdị data Hive, gụnyere DateTime, decimal na ụdị data mgbagwoju anya (nhazi, ndepụta, maapụ na otu).
  3. Ịgụ otu faịlụ nke otu faịlụ site na usoro RecordReader dị iche iche.
  4. Ike ikewa faịlụ na-enweghị nyocha maka akara.
  5. Ntụle oke oke ebe nchekwa ikpo okwu nwere ike maka usoro ọgụgụ/dee dabere na ozi dị n'okpuru faịlụ.
  6. A na-echekwa metadata n'ụdị usoro ọnụọgụ abụọ nke Protocol Buffers, nke na-enye ohere ịgbakwunye ma wepụ ubi.

Ụdị faịlụ na nnukwu data: mmemme mmụta dị nkenke
ORC na-echekwa mkpokọta eriri n'otu faịlụ, na n'ime mkpokọta ahụ, a na-echekwa data eriri n'ụdị kọlụm.

Otu faịlụ ORC na-echekwa ahịrị dị iche iche a na-akpọ n'ọnyá na ozi nkwado n'okpuru faịlụ ahụ. Ihe nbipute na njedebe nke faịlụ ahụ nwere parampat mkpakọ na nha nke ụkwụ abịakọrọ.

Ogo eriri ndabara bụ 250 MB. N'ihi nnukwu ọnyá ndị dị otú ahụ, a na-arụ ọrụ nke ọma site na HDFS: na nnukwu ihe mgbochi.

N'okpuru faịlụ ahụ na-edekọ ndepụta nke ụzọ dị na faịlụ ahụ, ọnụọgụ nke ahịrị otu ụzọ, yana ụdị data nke kọlụm ọ bụla. A na-edekwa uru ọnụ ọgụgụ, min, max na nchikota maka kọlụm ọ bụla n'ebe ahụ.

N'okpuru ebe warara ahụ nwere ndekọ nke ebe iyi.

A na-eji data ahịrị eme ihe mgbe ị na-enyocha tebụl.

Data Index na-agụnye ụkpụrụ kacha nta na nke kachasị maka kọlụm ọ bụla na ọnọdụ nke ahịrị na kọlụm ọ bụla. A na-eji ndeksi ORC naanị maka ịhọrọ ahịrị na otu ahịrị, ọ bụghị maka ịza ajụjụ.

Ntụnyere ụdị faịlụ dị iche iche

Avro tụnyere Parquet

  1. Avro bụ usoro nchekwa ahịrị, ebe Parquet na-echekwa data na kọlụm.
  2. Parquet dabara nke ọma maka ajụjụ nyocha, nke pụtara na ọrụ ịgụ na ajụjụ data na-arụ ọrụ nke ọma karịa ka ọ na-ede.
  3. A na-arụ ọrụ ederede na Avro nke ọma karịa na Parquet.
  4. Avro na-arụkọ ọrụ maka mgbanwe sekit nke ọma karịa. Parquet na-akwado mgbakwunye schema, ebe Avro na-akwado evolushọn multifunctional, ya bụ, ịgbakwunye ma ọ bụ gbanwee kọlụm.
  5. Parquet dị mma maka ịjụ obere ogidi na tebụl ọtụtụ kọlụm. Avro dabara maka ọrụ ETL ebe anyị na-ajụ ogidi niile.

ORC vs Parquet

  1. Parquet na-echekwa data akwụghị ụgwọ nke ọma.
  2. ORC ka mma karịa ịkọ nkọcha.
  3. ORC na-akwado akụrụngwa ACID.
  4. ORC na-akpakọ data nke ọma.

Kedu ihe ọzọ ị ga-agụ na isiokwu ahụ:

  1. Nnukwu nyocha data na igwe ojii: otu ụlọ ọrụ nwere ike isi bụrụ ihe ndabere data.
  2. Ntuziaka dị umeala n'obi maka atụmatụ nchekwa data.
  3. Ọwa telegram anyị gbasara mgbanwe dijitalụ.

isi: www.habr.com

Tinye a comment