وڏي ڊيٽا ۾ فائل فارميٽ: هڪ مختصر تعليمي پروگرام

وڏي ڊيٽا ۾ فائل فارميٽ: هڪ مختصر تعليمي پروگرام
Remarin پاران موسم ديوتا

ٽيم Mail.ru ڪلائوڊ حل پيش آيون مضمون جو ترجمو Clairvoyant کان انجنيئر راهول ڀاٽيا ٻڌايو ته بگ ڊيٽا ۾ ڪهڙا فائل فارميٽ آهن، هيڊوپ فارميٽ جون سڀ کان عام خاصيتون ڪهڙيون آهن ۽ ڪهڙي فارميٽ استعمال ڪرڻ بهتر آهي.

مختلف فائل فارميٽ جي ضرورت ڇو آهي؟

HDFS-فعال ٿيل ايپليڪيشنن جهڙوڪ MapReduce ۽ Spark لاءِ وڏي ڪارڪردگي جي رڪاوٽ اهو وقت آهي جيڪو ڊيٽا کي ڳولڻ، پڙهڻ ۽ لکڻ ۾ وٺندو آهي. اهي مسئلا وڏي ڊيٽا سيٽ کي منظم ڪرڻ ۾ مشڪل سان گڏ هوندا آهن جيڪڏهن اسان وٽ هڪ مقرر ڪيل اسڪيما جي بدران هڪ ترقي ڪندڙ اسڪيما آهي، يا جيڪڏهن ڪجهه اسٽوريج رڪاوٽون آهن.

وڏي ڊيٽا جي پروسيسنگ اسٽوريج سب سسٽم تي لوڊ وڌائي ٿو - Hadoop غلطي برداشت حاصل ڪرڻ لاء ڊيٽا کي غير معمولي طور تي محفوظ ڪري ٿو. ڊسڪ جي اضافي ۾، پروسيسر، نيٽ ورڪ، ان پٽ / آئوٽ سسٽم، ۽ پوء تي لوڊ ٿيل آهن. جيئن ته ڊيٽا جو مقدار وڌندو آهي، تنهنڪري پروسيسنگ ۽ اسٽوريج جي قيمت ڪندو آهي.

مختلف فائل فارميٽ ۾ Hadoop انهن مسئلن کي حل ڪرڻ لاء تيار ڪيو ويو آهي. مناسب فائل فارميٽ کي چونڊڻ سان ڪجھ اهم فائدا مهيا ڪري سگھن ٿا:

  1. تيز پڙهڻ جو وقت.
  2. تيز رڪارڊنگ وقت.
  3. حصيداري فائلون.
  4. اسڪيما ارتقاء لاءِ سپورٽ.
  5. وڌايل کمپريشن سپورٽ.

ڪجھ فائل فارميٽ عام استعمال لاءِ آھن، ٻيا وڌيڪ مخصوص استعمال لاءِ، ۽ ڪجھ خاص ڊيٽا جي خصوصيتن کي پورا ڪرڻ لاءِ ٺاھيا ويا آھن. تنهن ڪري، چونڊ واقعي تمام وڏي آهي.

Avro فائل فارميٽ

لاء ڊيٽا سيريلائيزيشن Avro وڏي پيماني تي استعمال ڪيو ويندو آهي - اهو تار جي بنياد تي، اهو آهي، Hadoop ۾ اسٽرنگ ڊيٽا اسٽوريج فارميٽ. اهو اسڪيما کي JSON فارميٽ ۾ محفوظ ڪري ٿو، ڪنهن به پروگرام ذريعي پڙهڻ ۽ تشريح ڪرڻ آسان بڻائي ٿو. ڊيٽا پاڻ بائنري فارميٽ ۾ آهي، ٺهيل ۽ موثر.

Avro جي سيريلائيزيشن سسٽم ٻولي غير جانبدار آهي. فائلون مختلف ٻولين ۾ پروسيس ڪري سگھجن ٿيون، في الحال C، C++، C#، Java، Python ۽ Ruby.

Avro جي هڪ اهم خصوصيت ان جي ڊيٽا اسڪيمن لاءِ مضبوط سپورٽ آهي جيڪا وقت سان گڏ تبديل ٿيندي آهي، يعني ارتقا. Avro سمجھي ٿو اسڪيما تبديلين- حذف ڪرڻ، شامل ڪرڻ، يا تبديل ڪرڻ.

Avro ڊيٽا جي جوڙجڪ جي مختلف قسمن کي سپورٽ ڪري ٿو. مثال طور، توهان هڪ رڪارڊ ٺاهي سگهو ٿا جنهن ۾ هڪ صف، هڪ ڳڻپيوڪر قسم، ۽ هڪ ذيلي رڪارڊ شامل آهي.

وڏي ڊيٽا ۾ فائل فارميٽ: هڪ مختصر تعليمي پروگرام
هي فارميٽ ڊيٽا ڍنڍ جي لينڊنگ (منتقلي) زون ڏانهن لکڻ لاءِ مثالي آهي (ڊيٽا ڍنڍ، يا ڊيٽا ڍنڍ - مختلف قسمن جي ڊيٽا کي محفوظ ڪرڻ لاءِ مثالن جو مجموعو سڌو سنئون ڊيٽا ذريعن کان علاوه).

تنهن ڪري، هي فارميٽ هيٺين سببن لاء ڊيٽا ڍنڍ جي لينڊنگ زون ڏانهن لکڻ لاء بهترين مناسب آهي:

  1. هن علائقي مان ڊيٽا عام طور تي مڪمل طور تي پڙهي ويندي آهي وڌيڪ پروسيسنگ لاءِ هيٺيون وهڪرو سسٽم - ۽ قطار تي ٻڌل فارميٽ هن صورت ۾ وڌيڪ ڪارائتو آهي.
  2. ڊائون اسٽريم سسٽم آساني سان فائلن مان اسڪيما جدولن کي ٻيهر حاصل ڪري سگھن ٿا- خارجي ميٽا اسٽوريج ۾ اسڪيما کي الڳ رکڻ جي ضرورت ناهي.
  3. اصل اسڪيما ۾ ڪا به تبديلي آساني سان پروسيس ڪئي ويندي آهي (اسڪيما ارتقاء).

پارڪٽ فائل فارميٽ

Parquet Hadoop لاءِ هڪ اوپن سورس فائل فارميٽ آهي جيڪو اسٽور ڪري ٿو nested ڊيٽا جي جوڙجڪ فليٽ ڪالمن فارميٽ ۾.

روايتي قطار جي انداز جي مقابلي ۾، پارڪيٽ اسٽوريج ۽ ڪارڪردگي جي لحاظ کان وڌيڪ ڪارائتو آهي.

اهو خاص طور تي انهن سوالن لاءِ مفيد آهي جيڪي وسيع (ڪيترن ئي ڪالمن) ٽيبل مان مخصوص ڪالمن پڙهن ٿا. فائل فارميٽ جي مهرباني، صرف ضروري ڪالمن پڙهيا ويندا آهن، تنهنڪري I/O کي گهٽ ۾ گهٽ رکيو ويندو آهي.

هڪ ننڍڙو تڪرار ۽ وضاحت: Hadoop ۾ Parquet فائل فارميٽ کي بهتر سمجھڻ لاءِ، اچو ته ڏسو ته ڪالمن جي بنياد تي - يعني ڪالمن- فارميٽ ڇا آھي. هي فارميٽ هر ڪالمن لاءِ ساڳئي قدر گڏ ڪري ٿو.

مثال طور، رڪارڊ ۾ ID، نالو، ۽ ڊپارٽمينٽ جا شعبا شامل آھن. انهي صورت ۾، سڀئي ID ڪالمن جي قيمتن کي گڏ ڪيو ويندو، جيئن نالو ڪالمن جي قدر، وغيره. ٽيبل هن طرح ڪجهه نظر ايندو:

ID
نالو
کاتو

1
ايمپ 1
d1

2
ايمپ 2
d2

3
ايمپ 3
d3

اسٽرنگ فارميٽ ۾، ڊيٽا کي محفوظ ڪيو ويندو هن ريت:

1
ايمپ 1
d1
2
ايمپ 2
d2
3
ايمپ 3
d3

هڪ ڪالمن فائل فارميٽ ۾، ساڳيو ڊيٽا هن طرح محفوظ ڪيو ويندو:

1
2
3
ايمپ 1
ايمپ 2
ايمپ 3
d1
d2
d3

ڪالمن فارميٽ وڌيڪ ڪارائتو آهي جڏهن توهان کي ٽيبل مان ڪيترن ئي ڪالمن جي سوال ڪرڻ جي ضرورت آهي. اهو صرف گهربل ڪالمن کي پڙهي سگهندو ڇو ته اهي ڀرسان آهن. هن طريقي سان، I/O عملن کي گهٽ ۾ گهٽ رکيو ويو آهي.

مثال طور، توھان کي صرف NAME ڪالمن جي ضرورت آھي. IN string فارميٽ ڊيٽا سيٽ ۾ هر رڪارڊ کي لوڊ ڪرڻ جي ضرورت آهي، فيلڊ ذريعي پارس ڪيو وڃي، ۽ پوء NAME ڊيٽا کي ڪڍيو وڃي. ڪالمن جي فارميٽ توهان کي سڌو سنئون نالي جي ڪالمن ۾ سوراخ ڪرڻ جي اجازت ڏئي ٿي ڇو ته ان ڪالمن لاءِ سڀئي قدر گڏ گڏ ٿيل آهن. توهان کي پوري رڪارڊنگ اسڪين ڪرڻ جي ضرورت ناهي.

اهڙيءَ طرح، ڪالمن جي فارميٽ سوال جي ڪارڪردگي کي بهتر بڻائي ٿي ڇاڪاڻ ته ان کي گهربل ڪالمن تائين پهچڻ لاءِ گهٽ ڏسندڙ وقت جي ضرورت آهي ۽ I/O عملن جو تعداد گھٽائي ٿو ڇاڪاڻ ته صرف گهربل ڪالمن پڙهيا وڃن ٿا.

منفرد خاصيتن مان هڪ تقسيم ڇا اهو هن فارميٽ ۾ ٿي سگهي ٿو nested جوڙجڪ سان گڏ ڊيٽا ذخيرو. هن جو مطلب اهو آهي ته پارڪٽ فائل ۾، اينسٽڊ فيلڊز کي به انفرادي طور تي پڙهي سگهجي ٿو بغير سڀني فيلڊن کي پڙهڻ جي بغير. پارڪيٽ هڪ شيڊنگ ۽ اسمبلي الگورٿم استعمال ڪري ٿو نسٽڊ ڍانچي کي محفوظ ڪرڻ لاءِ.

وڏي ڊيٽا ۾ فائل فارميٽ: هڪ مختصر تعليمي پروگرام
Hadoop ۾ Parquet فائل فارميٽ کي سمجھڻ لاءِ، توھان کي ھيٺين شرطن کي ڄاڻڻ گھرجي:

  1. تارن جو گروپ (قطار گروپ): ڊيٽا جي منطقي افقي ڊويزن قطار ۾. هڪ قطار گروپ ڊيٽا سيٽ ۾ هر ڪالمن جي هڪ ٽڪرا تي مشتمل آهي.
  2. ڪالمن جو حصو (column chunk): هڪ مخصوص ڪالمن جو هڪ ٽڪرو. اهي ڪالمن جا ٽڪرا قطار جي هڪ مخصوص گروپ ۾ رهن ٿا ۽ ضمانت آهن ته فائل ۾ ملندڙ هجڻ جي.
  3. صفحو (صفحو): ڪالمن جا ٽڪرا هڪ ٻئي پٺيان لکيل صفحن ۾ ورهايل آهن. صفحن جو ھڪڙو عام عنوان آھي، تنھنڪري توھان پڙھي سگھوٿا غير ضروري کي ڇڏي ڏيو.

وڏي ڊيٽا ۾ فائل فارميٽ: هڪ مختصر تعليمي پروگرام
هتي عنوان صرف جادو نمبر تي مشتمل آهي PAR1 (4 بائيٽ) جيڪو فائل کي پارڪيٽ فائل طور سڃاڻي ٿو.

فوٽر هن ريت چوي ٿو:

  1. فائل ميٽا ڊيٽا جنهن ۾ هر ڪالمن جي ميٽا ڊيٽا جي شروعاتي همراهن تي مشتمل آهي. جڏهن پڙهڻ، توهان کي پهريان پڙهڻ گهرجي فائل جي ميٽا ڊيٽا کي دلچسپي جي سڀني ڪالمن جا ٽڪرا ڳولڻ لاء. ڪالمن جا حصا وري ترتيب سان پڙهڻ گهرجن. ٻين ميٽا ڊيٽا ۾ فارميٽ ورزن، اسڪيما، ۽ ڪي به اضافي ڪي-ويل جوڙو شامل آھن.
  2. ميٽا ڊيٽا جي ڊيگهه (4 بائيٽ).
  3. جادو نمبر PAR1 (4 بائيٽ).

ORC فائل فارميٽ

اصلاح ٿيل قطار-ڪالمن فائل فارميٽ (اصلاح ٿيل قطار ڪالم، او آر سي) ڊيٽا کي ذخيرو ڪرڻ لاء هڪ تمام موثر طريقو پيش ڪري ٿو ۽ ٻين شڪلن جي حدن کي ختم ڪرڻ لاء ٺهيل هئي. ڊيٽا کي مڪمل طور تي ٺهيل شڪل ۾ ذخيرو ڪري ٿو، توهان کي غير ضروري تفصيلن کي ڇڏڻ جي اجازت ڏئي ٿو - بغير وڏي، پيچيده يا دستي طور تي برقرار رکڻ واري انڊيڪس جي تعمير جي ضرورت کان سواء.

ORC فارميٽ جا فائدا:

  1. ھڪڙي فائل ھر ڪم جي ٻاھر آھي، جيڪا NameNode (نالو نوڊ) تي لوڊ گھٽائي ٿي.
  2. Hive ڊيٽا جي قسمن لاءِ سپورٽ، بشمول DateTime، decimal ۽ پيچيده ڊيٽا جا قسم (structure, list, map and Union).
  3. ساڳئي فائل کي مختلف RecordReader پروسيس ذريعي پڙهڻ.
  4. مارڪر لاء اسڪيننگ کان سواء فائلن کي ورهائڻ جي صلاحيت.
  5. فائل فوٽر ۾ معلومات جي بنياد تي پڙهڻ/لکڻ جي عمل لاءِ وڌ ۾ وڌ ممڪن هيپ ميموري مختص ڪرڻ جو اندازو.
  6. ميٽاداٽا پروٽوڪول بفرز بائنري سيريلائيزيشن فارميٽ ۾ ذخيرو ٿيل آهي، جيڪا اجازت ڏئي ٿي فيلڊز کي شامل ڪرڻ ۽ ختم ڪرڻ جي.

وڏي ڊيٽا ۾ فائل فارميٽ: هڪ مختصر تعليمي پروگرام
ORC هڪ واحد فائل ۾ اسٽرنگ جي مجموعن کي ذخيرو ڪري ٿو، ۽ گڏ ڪرڻ جي اندر، اسٽرنگ ڊيٽا ڪالمن جي شڪل ۾ ذخيرو ٿيل آهي.

هڪ ORC فائل لائنن جي گروپن کي اسٽور ڪري ٿو جن کي پٽي ۽ سپورٽ معلومات فائل جي فوٽر ۾ سڏيو ويندو آهي. پوسٽ اسڪرپٽ فائل جي آخر ۾ ڪمپريشن پيٽرولر ۽ ڪمپريشن فوٽر جي سائيز تي مشتمل آهي.

ڊفالٽ پٽي سائيز 250 MB آهي. اهڙين وڏين پٽين جي ڪري، HDFS کان پڙهڻ کي وڌيڪ موثر طريقي سان انجام ڏنو ويو آهي: وڏين متضاد بلاڪن ۾.

فائل فوٽر فائل ۾ لين جي لسٽ، هر لين جي قطار جو تعداد، ۽ هر ڪالمن جي ڊيٽا جي قسم کي رڪارڊ ڪري ٿو. هر ڪالمن لاءِ ڳڻپ، منٽ، وڌ ۾ وڌ ۽ رقم جو نتيجو پڻ اتي لکيل آهي.

پٽي جي فوٽر ۾ وهڪرو جڳهن جي ڊاريڪٽري شامل آهي.

قطار ڊيٽا استعمال ڪيو ويندو آهي جڏهن اسڪيننگ ٽيبل.

انڊيڪس ڊيٽا ۾ هر ڪالمن لاءِ گھٽ ۾ گھٽ ۽ وڌ ۾ وڌ قدر ۽ هر ڪالمن ۾ قطارن جي پوزيشن شامل آھي. ORC انڊيڪس استعمال ڪيا ويندا آهن صرف پٽين ۽ قطار گروپن کي چونڊڻ لاءِ، نه سوالن جا جواب ڏيڻ لاءِ.

مختلف فائل فارميٽ جو مقابلو

Parquet جي مقابلي ۾ Avro

  1. Avro هڪ قطار اسٽوريج فارميٽ آهي، جڏهن ته پارڪٽ ڊيٽا کي ڪالمن ۾ محفوظ ڪري ٿو.
  2. Parquet تجزياتي سوالن لاءِ بهتر موزون آهي، مطلب ته پڙهڻ جا عمل ۽ پڇا ڳاڇا ڪرڻ واري ڊيٽا لکڻ جي ڀيٽ ۾ تمام گهڻي موثر آهي.
  3. Avro ۾ لکڻ جا آپريشن پارڪيٽ جي ڀيٽ ۾ وڌيڪ موثر طريقي سان ڪيا ويندا آهن.
  4. Avro سرڪٽ جي ارتقا سان وڌيڪ پختگي سان معاملو ڪري ٿو. پارڪٽ صرف اسڪيما جي اضافي کي سپورٽ ڪري ٿو، جڏهن ته Avro گھڻائي ارتقاء کي سپورٽ ڪري ٿو، يعني ڪالمن کي شامل ڪرڻ يا تبديل ڪرڻ.
  5. ملٽي ڪالمن واري ٽيبل ۾ ڪالمن جي ذيلي سيٽ بابت سوال ڪرڻ لاءِ پارڪيوٽ مثالي آهي. Avro ETL عملن لاءِ موزون آھي جتي اسان سڀني ڪالمن کان پڇون ٿا.

ORC بمقابله پارڪ

  1. پارڪ کي محفوظ ٿيل ڊيٽا بهتر طور تي محفوظ ڪري ٿو.
  2. ORC بھتر آھي pushdown جي اڳڪٿي ڪرڻ لاءِ.
  3. ORC سپورٽ ڪري ٿو ACID ملڪيت.
  4. ORC ڊيٽا کي بهتر ڪري ٿو.

موضوع تي ٻيو ڇا پڙهو:

  1. بادل ۾ وڏي ڊيٽا جو تجزيو: هڪ ڪمپني ڪيئن ٿي سگهي ٿي ڊيٽا تي مبني.
  2. ڊيٽابيس اسڪيمن لاءِ هڪ عاجز گائيڊ.
  3. ڊجيٽل تبديليءَ بابت اسان جو ٽيليگرام چينل.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو