په لوی ډیټا کې د فایل فارمیټونه: یو لنډ تعلیمي برنامه

په لوی ډیټا کې د فایل فارمیټونه: یو لنډ تعلیمي برنامه
د ریمارین لخوا د هوا خدای

ټیم Mail.ru کلاوډ حلونه وړاندیزونه د مقالې ژباړه انجینر راهول باټیا د Clairvoyant څخه پدې اړه چې په لوی ډیټا کې کوم فایل فارمیټونه شتون لري ، د هډوپ فارمیټونو خورا عام ځانګړتیاوې کومې دي او کوم فارمیټ کارول غوره دي.

ولې مختلف فایل فارمیټونو ته اړتیا ده؟

د HDFS فعال شوي غوښتنلیکونو لکه MapReduce او Spark لپاره د فعالیت لوی خنډ هغه وخت دی چې دا د معلوماتو لټون، لوستلو او لیکلو وخت نیسي. دا ستونزې د لوی ډیټا سیټونو اداره کولو کې د ستونزو له امله رامینځته شوي که چیرې موږ د ثابت سکیما پرځای پرمختللې سکیما ولرو ، یا که چیرې د ذخیره کولو ځینې محدودیتونه شتون ولري.

د لوی ډیټا پروسس کول د ذخیره کولو سب سیسټم باندې بار زیاتوي - هډوپ د غلطۍ زغم ترلاسه کولو لپاره بې ځایه ډیټا ذخیره کوي. د ډیسکونو سربیره، پروسیسر، شبکه، ان پټ/آؤټ پټ سیسټم، او داسې نور بار شوي. لکه څنګه چې د معلوماتو حجم وده کوي، نو د پروسس او ذخیره کولو لګښت هم راځي.

د مختلف فایل فارمیټونو کې Hadoop د دې ستونزو دقیق حل لپاره اختراع شوی. د مناسب فایل فارمیټ غوره کول کولی شي ځینې مهمې ګټې چمتو کړي:

  1. د لوستلو وخت ګړندی.
  2. ګړندی ثبت وخت.
  3. شریک شوي فایلونه.
  4. د سکیما ارتقا لپاره ملاتړ.
  5. پراخه کمپریشن ملاتړ.

ځینې ​​​​د فایل فارمیټونه د عمومي کارونې لپاره دي، نور د نورو ځانګړو کارونې لپاره، او ځینې یې د ځانګړو معلوماتو ځانګړتیاوو پوره کولو لپاره ډیزاین شوي. نو انتخاب واقعیا خورا لوی دی.

د Avro فایل بڼه

لپاره د معلوماتو لړۍ کول Avro په پراخه کچه کارول کیږي - دا د تار پر بنسټ، دا په هډوپ کې د تار ډیټا ذخیره کولو فارمیټ دی. دا سکیما په JSON بڼه کې ذخیره کوي، د هر پروګرام لخوا لوستل او تشریح کول اسانه کوي. ډاټا پخپله په بائنری بڼه، کمپیکٹ او اغیزمنه ده.

د ایرو سیریل کولو سیسټم ژبه بې طرفه ده. فایلونه په مختلفو ژبو پروسس کیدی شي، دا مهال C، C++، C#، Java، Python او Ruby.

د ایرو کلیدي ځانګړتیا د ډیټا سکیمونو لپاره د دې قوي ملاتړ دی چې د وخت په تیریدو سره بدلیږي ، دا دی ، وده کوي. Avro د سکیما بدلونونه پیژني - د ساحو حذف کول، اضافه کول یا بدلول.

ایرو د مختلف ډیټا جوړښتونو ملاتړ کوي. د مثال په توګه، تاسو کولی شئ یو ریکارډ جوړ کړئ چې یو سري، یو شمیرل شوی ډول، او یو فرعي ریکارډ لري.

په لوی ډیټا کې د فایل فارمیټونه: یو لنډ تعلیمي برنامه
دا بڼه د ډیټا جهیل د لینډینګ (انتقال) زون ته د لیکلو لپاره غوره ده (د معلوماتو جهيل، یا د ډیټا لیک - په مستقیم ډول د ډیټا سرچینو سربیره د مختلف ډول ډیټا ذخیره کولو لپاره د مثالونو مجموعه).

نو، دا بڼه د لاندې دلایلو لپاره د ډیټا جھیل د لینډینګ زون ته لیکلو لپاره غوره ده:

  1. د دې زون ډاټا معمولا د لاندې سیسټمونو لخوا د نورو پروسس کولو لپاره په بشپړ ډول لوستل کیږي - او په دې حالت کې د قطار پر بنسټ بڼه خورا اغیزمنه ده.
  2. د ښکته جریان سیسټمونه کولی شي په اسانۍ سره د فایلونو څخه د سکیما میزونه ترلاسه کړي — اړتیا نشته چې سکیما په جلا توګه په بهرني میټا ذخیره کې ذخیره کړئ.
  3. اصلي سکیما ته هر ډول بدلون په اسانۍ سره پروسس کیږي (د سکیما ارتقاء).

د پارکیټ فایل بڼه

پارکیټ د هډوپ لپاره د خلاصې سرچینې فایل فارمیټ دی چې ذخیره کوي په فلیټ کالمر شکل کې د نیست شوي ډاټا جوړښتونه.

د دودیز قطار طرزالعمل په پرتله، پارکیټ د ذخیره کولو او فعالیت په برخه کې ډیر اغیزمن دی.

دا په ځانګړې توګه د پوښتنو لپاره ګټور دی چې د پراخ (ډیری کالمونو) جدول څخه ځانګړي کالمونه لوستل کیږي. د فایل فارمیټ څخه مننه، یوازې اړین کالمونه لوستل کیږي، نو I/O لږترلږه ساتل کیږي.

یو کوچنی تحلیل او توضیحات: د دې لپاره چې په هډوپ کې د پارکیټ فایل فارمیټ ښه پوه شي، راځئ چې وګورو چې د کالم پر بنسټ - د بیلګې په توګه کالم - بڼه څه ده. دا بڼه د هر کالم لپاره ورته ارزښتونه یوځای ذخیره کوي.

د مثال په توګهپه ریکارډ کې ID، نوم، او د څانګې ساحې شاملې دي. په دې حالت کې، د ID کالم ټول ارزښتونه به یوځای ذخیره شي، لکه څنګه چې د نوم کالم ارزښتونه، او داسې نور. جدول به داسې ښکاري:

ID
نوم
څانګه

1
em1
d1

2
em2
d2

3
em3
d3

د تار په شکل کې، ډاټا به په لاندې ډول خوندي شي:

1
em1
d1
2
em2
d2
3
em3
d3

د کالم فایل فارمیټ کې، ورته ډاټا به په لاندې ډول خوندي شي:

1
2
3
em1
em2
em3
d1
d2
d3

د کالم بڼه خورا اغیزمنه ده کله چې تاسو اړتیا لرئ د میز څخه ډیری کالمونه وپوښتئ. دا به یوازې اړین کالمونه ولولي ځکه چې دوی نږدې دي. په دې توګه، د I/O عملیات لږ تر لږه ساتل کیږي.

د مثال په توګه، تاسو یوازې د NAME کالم ته اړتیا لرئ. IN د تار بڼه په ډیټاسیټ کې هر ریکارډ باید بار شي، د ساحې په واسطه تجزیه شي، او بیا د NAME ډاټا استخراج شي. د کالم بڼه تاسو ته اجازه درکوي په مستقیم ډول د نوم کالم ته لاړ شئ ځکه چې د دې کالم ټول ارزښتونه یوځای ساتل شوي. تاسو اړتیا نلرئ ټول ریکارډ سکین کړئ.

په دې توګه، د کالم بڼه د پوښتنو فعالیت ښه کوي ځکه چې دا اړین کالمونو ته د رسیدو لپاره لږ وخت ته اړتیا لري او د I/O عملیاتونو شمیر کموي ځکه چې یوازې مطلوب کالمونه لوستل کیږي.

یو له بې ساري ځانګړتیاوو څخه پارچه ایا دا په دې بڼه کې کیدی شي د نیست شوي جوړښتونو سره ډاټا ذخیره کړئ. دا پدې مانا ده چې د پارکیټ فایل کې، حتی نیست شوي ساحې په انفرادي ډول لوستل کیدی شي پرته لدې چې په نیست شوي جوړښت کې ټولې ساحې لوستل شي. پارکیټ د ځنځیرونو جوړښتونو ذخیره کولو لپاره د ټوټې کولو او اسمبلۍ الګوریتم کاروي.

په لوی ډیټا کې د فایل فارمیټونه: یو لنډ تعلیمي برنامه
په هډوپ کې د پارکیټ فایل فارمیټ پوهیدو لپاره ، تاسو اړتیا لرئ لاندې شرایط وپیژنئ:

  1. د تارونو ډله (د قطار ګروپ): په قطارونو کې د معلوماتو منطقي افقی ویش. د قطار ګروپ د ډیټا سیټ کې د هر کالم یوه ټوټه لري.
  2. د کالم ټوټه (د کالم ټوټه): د ځانګړي کالم یوه ټوټه. دا د کالم ټوټې د قطارونو په یوه ځانګړي ګروپ کې ژوند کوي او تضمین شوي چې په فایل کې متضاد وي.
  3. پا .ه (پاڼه): د کالم ټوټې په هغو پاڼو ویشل کیږي چې یو له بل څخه وروسته لیکل کیږي. پاڼې یو عام سرلیک لري، نو تاسو کولی شئ د لوستلو پر مهال غیر ضروري پاڼې پریږدئ.

په لوی ډیټا کې د فایل فارمیټونه: یو لنډ تعلیمي برنامه
دلته سرلیک یوازې د جادو شمیره لري پارکسوم (4 بایټ) کوم چې فایل د پارکیټ فایل په توګه پیژني.

فوټر په لاندې ډول وايي:

  1. د فایل میټاډاټا چې د هر کالم میټاډاټا پیل شوي همغږي لري. کله چې لوستل، تاسو باید لومړی د فایل میټاډاټا ولولئ ترڅو د ګټو ټولې کالم ټوټې ومومئ. بیا د کالم برخې باید په ترتیب سره ولوستل شي. په نورو میټاډاټا کې د فارمیټ نسخه، سکیما، او کوم اضافي کلیدي ارزښت جوړه شامله ده.
  2. د میټاډاټا اوږدوالی (4 بایټ).
  3. جادو نمبر پارکسوم (4 بایټ).

د ORC فایل بڼه

د قطار کالم فایل فارمیټ اصلاح شوی (غوره شوي قطار کالم، CRO) د ډیټا ذخیره کولو لپاره خورا مؤثره لاره وړاندې کوي او د نورو فارمیټونو محدودیتونو لرې کولو لپاره ډیزاین شوی. ډاټا په بشپړ ډول کمپیکٹ بڼه کې ذخیره کوي، تاسو ته اجازه درکوي چې غیر ضروري توضیحات پریږدئ - پرته له دې چې د لوی، پیچلي یا په لاسي ډول ساتل شوي شاخصونو جوړولو ته اړتیا ولرئ.

د ORC بڼه ګټې:

  1. یوه فایل د هر کار محصول دی، کوم چې د نوم نوډ (نوم نوډ) باندې بار کموي.
  2. د Hive ډیټا ډولونو لپاره ملاتړ ، پشمول د نیټې وخت ، لسیزې او پیچلي ډیټا ډولونه (ساختمان ، لیست ، نقشه او اتحادیه).
  3. د مختلف RecordReader پروسو لخوا د ورته فایل یوځل لوستل.
  4. د مارکرونو لپاره سکین کولو پرته د فایلونو ویشلو وړتیا.
  5. د فایل فوټر کې د معلوماتو پراساس د لوستلو / لیکلو پروسو لپاره د اعظمي ممکنه هپ حافظې تخصیص اټکل.
  6. میټاډاټا د پروتوکول بفر بائنری سیریلائزیشن ب formatه کې زیرمه شوې ، کوم چې ساحې اضافه کولو او لرې کولو ته اجازه ورکوي.

په لوی ډیټا کې د فایل فارمیټونه: یو لنډ تعلیمي برنامه
ORC د تارونو ټولګه په یوه فایل کې ذخیره کوي، او په ټولګه کې دننه، د تار ډاټا په کالم بڼه کې زیرمه کیږي.

د ORC فایل د فایل په فوټر کې د پټو او ملاتړي معلوماتو په نوم د لینونو ګروپونه ذخیره کوي. د فایل په پای کې پوسټ سکریپټ د کمپریشن پیرامیټونه او د فشار شوي فوټر اندازه لري.

د ډیفالټ پټې اندازه 250 MB ده. د داسې لویو پټو له امله، د HDFS لوستل په ډیر اغیزمن ډول ترسره کیږي: په لویو تړلو بلاکونو کې.

د فایل فوټر په فایل کې د لینونو لیست، په هر لین کې د قطارونو شمیر، او د هر کالم د معلوماتو ډول ثبتوي. د هر کالم لپاره د شمېرنې، دقیقې، اعظمي او مجموعې پایله ارزښت هم هلته لیکل شوی.

د پټې فوټر د جریان ځایونو لارښود لري.

د قطار ډاټا کارول کیږي کله چې میزونه سکین کوي.

د شاخص ډاټا کې د هر کالم لپاره لږترلږه او اعظمي ارزښتونه او په هر کالم کې د قطارونو موقعیت شامل دي. د ORC شاخصونه یوازې د پټو او قطار ګروپونو غوره کولو لپاره کارول کیږي، نه د پوښتنو ځوابونو لپاره.

د مختلف فایل فارمیټونو پرتله کول

ایرو د پارکیټ په پرتله

  1. Avro د قطار ذخیره کولو بڼه ده، پداسې حال کې چې پارکیټ په کالمونو کې ډاټا ذخیره کوي.
  2. پارکیټ د تحلیلي پوښتنو لپاره غوره دی، پدې معنی چې د لوستلو عملیات او د پوښتنو ډاټا د لیکلو په پرتله خورا اغیزمن دي.
  3. په Avro کې د لیکلو عملیات د پارکیټ په پرتله ډیر اغیزمن ترسره کیږي.
  4. Avro د سرکټ ارتقاء سره په ډیر بالغ ډول معامله کوي. پارکیټ یوازې د سکیما اضافه کولو ملاتړ کوي، پداسې حال کې چې ایرو د څو اړخیزو ارتقاء ملاتړ کوي، دا د کالمونو اضافه کول یا بدلول دي.
  5. پارکیوټ د څو کالم جدول کې د کالمونو د فرعي سیټ پوښتنې لپاره مثالی دی. Avro د ETL عملیاتو لپاره مناسب دی چیرې چې موږ ټول کالمونه پوښتو.

ORC vs پارکیټ

  1. پارکیټ د نیست شوي ډاټا ښه ذخیره کوي.
  2. ORC د فشار ورکولو وړاندوینې لپاره غوره مناسب دی.
  3. ORC د ACID ملکیتونو ملاتړ کوي.
  4. ORC ډیټا ښه فشاروي.

په موضوع نور څه لوستل:

  1. په بادل کې د لوی ډیټا تحلیل: څنګه یو شرکت کولی شي ډیټا متمرکز شي.
  2. د ډیټابیس سکیمونو لپاره عاجز لارښود.
  3. د ډیجیټل بدلون په اړه زموږ د ټیلیګرام چینل.

سرچینه: www.habr.com

Add a comment