مرحبا بالجميع! نحن ننشر ترجمة للمقال المعد لطلاب المجموعة الجديدة من دورة مهندس البيانات . إذا كنت مهتمًا بمعرفة كيفية إنشاء نظام معالجة بيانات فعال وقابل للتطوير بأقل تكلفة ، فراجع تسجيل Yegor Mateshuk للفئة الرئيسية !

قبل بضعة أسابيع كتبت مقالة عن Hadoop ، والتي غطت مختلف
أجزاء وحسب ما الدور الذي يلعبه في مجال هندسة البيانات. في هذه المقالة ، أنا
سأقدم وصفًا موجزًا لمختلف تنسيقات الملفات في Hadoop. انها سريعة وسهلة
الموضوع. إذا كنت تحاول فهم كيف يعمل Hadoop والمكان الذي يستغرقه في العمل
مهندس البيانات ، تحقق من مقالي على Hadoop هنا .
تنقسم صيغ ملفات Hadoop إلى فئتين: موجه نحو الصف وعمود
المنحى.
صف المنحى:
يتم تخزين صفوف من البيانات من نوع واحد معا ، وتشكيل مستمر
التخزين: SequenceFile ، MapFile ، Avro Datafile. وبالتالي ، إذا لزم الأمر
الوصول فقط إلى كمية صغيرة من البيانات من صف ، على أي حال الصف بأكمله
سيتم قراءتها في الذاكرة. التسلسل التأخير يمكن إلى حد ما
قم بتخفيف المشكلة ، ولكن بشكل كامل من خلال قراءة صف البيانات بالكامل باستخدام
سوف محرك لن تكون قادرة على التخلص. تخزين موجه نحو الصف
مناسبة في الحالات التي يكون فيها من الضروري معالجة الخط بأكمله في نفس الوقت
البيانات.
الموجهة للعمود:
يتم تقسيم الملف بأكمله إلى عدة أعمدة بيانات وجميع أعمدة البيانات
تخزينها معا: الباركيه ، RCFile ، ORCFile. تنسيق العمود الموجه (العمود-
المنحى) ، يتيح لك تخطي الأعمدة غير الضرورية عند قراءة البيانات ، والتي هي مناسبة ل
المواقف عند الحاجة إلى كمية صغيرة من الخطوط. لكن هذا الشكل من القراءة والكتابة
يتطلب المزيد من مساحة الذاكرة لأن خط ذاكرة التخزين المؤقت بالكامل يجب أن يكون في الذاكرة
(للحصول على عمود من عدة صفوف). في الوقت نفسه ، أنها ليست مناسبة ل
تسجيل التدفق ، لأنه بعد فشل التسجيل ، لا يمكن أن يكون الملف الحالي
المستعادة ، ويمكن إعادة استخدام البيانات الموجهة خطيا
متزامن من آخر نقطة تزامن في حالة حدوث خطأ في الكتابة ، وبالتالي ،
على سبيل المثال ، يستخدم Flume تنسيق تخزين موجه الخط.

الشكل 1 (يسار). الجدول المنطقي المبين
الشكل 2 (يمين). موقع موجه نحو الصف (ملف التسلسل)

الشكل 3. تخطيط المنحى العمود
إذا لم تكن قد فهمت تمامًا ماهية اتجاه العمود أو الصف ،
لا تقلق يمكنك اتباع هذا الرابط لفهم الفرق بين الاثنين.
فيما يلي بعض تنسيقات الملفات المستخدمة على نطاق واسع في نظام Hadoop:
ملف التسلسل
يتغير تنسيق التخزين اعتمادًا على ما إذا كان التخزين مضغوطًا أم لا ،
هل يستخدم ضغط الكتابة أو ضغط الكتلة:

الشكل 4. البنية الداخلية لملف التسلسل دون ضغط ومع ضغط السجلات.
بدون ضغط:
تخزين بالترتيب المطابق لطول السجل ، طول المفتاح ، قيمة الدرجة ،
القيمة الرئيسية والقيمة القيمة. النطاق هو عدد البايتات. التسلسل
أجريت باستخدام المحدد.
ضغط السجل:
يتم ضغط القيمة فقط ، ويتم تخزين برنامج الترميز المضغوط في الرأس.
ضغط الكتلة:
يتم ضغط سجلات متعددة بحيث يمكنك استخدامها
الاستفادة من أوجه التشابه بين الإدخالات وتوفير مساحة. الأعلام
تضاف تزامن لبداية ونهاية الكتلة. الحد الأدنى لقيمة الكتلة
تم تعيينه بواسطة سمة o.seqfile.compress.blocksizeset.

الشكل 4. الهيكل الداخلي لملف التسلسل مع ضغط الكتلة.
ملف الخريطة
ملف الخريطة هو نوع من ملفات التسلسل. بعد إضافة الفهرس إلى
ينتج عن ملف التسلسل وفرزه ملف خريطة. يتم تخزين الفهرس بشكل منفصل
ملف ، والذي يحتوي عادةً على مؤشرات كل من الإدخالات 128. قد تكون المؤشرات
يتم تحميلها في الذاكرة لاسترجاعها بسرعة ، لأن الملفات التي يتم تخزين البيانات فيها ،
مرتبة حسب الترتيب المحدد بواسطة المفتاح.
يجب أن تكون إدخالات ملف الخريطة بالترتيب. خلاف ذلك نحن
الحصول على IOException.
أنواع ملفات الخرائط المشتقة:
- SetFile: ملف خريطة خاص لتخزين تسلسل مفاتيح من النوع
للكتابة. تتم كتابة المفاتيح بترتيب معين. - ArrayFile: المفتاح هو عدد صحيح يشير إلى الموضع في الصفيف ، القيمة
اكتب قابل للكتابة. - BloomMapFile: الأمثل لطريقة get () لملف الخريطة باستخدام
مرشحات بلوم الديناميكية. يتم تخزين المرشح في الذاكرة ، والطريقة المعتادة
يتم استدعاء get () للقراءة فقط إذا كانت قيمة المفتاح
هناك.
تتضمن الملفات المدرجة أدناه على نظام Hadoop RCFile و ORCFile و Parquet.
النسخة الموجهة نحو العمود من Avro هي Trevni.
ملف RC
ملف Columnar Hive's Record - هذا النوع من الملفات يقسم البيانات أولاً إلى مجموعات من الصفوف ،
وضمن مجموعة الصفوف ، يتم تخزين البيانات في أعمدة. هيكلها هو على النحو التالي
الطريقة:

الشكل 5. موقع بيانات ملف RC في كتلة HDFS.
مقارنة مع محض الصف المنحى وعمود المنحى:

الشكل 6. تخزين صف تلو الآخر في كتلة HDFS.

الشكل 7. تجميع حسب الأعمدة في كتلة HDFS.
ملف ORC
يعد ORCFile (ملف عمودي سجل محسن) - تنسيقًا أكثر كفاءة
ملف من rcfile. فإنه يقسم داخليا البيانات إلى شرائح من 250M لكل منهما.
كل حارة لديها فهرس ، بيانات وتذييل. مؤشر يخزن الحد الأدنى و
الحد الأقصى لقيمة كل عمود ، وكذلك موضع كل صف في العمود.

الشكل 8. موقع البيانات في ملف ORC
يستخدم Hive الأوامر التالية لاستخدام ملف .orc:
النيابة العامة
تنسيق تخزين عام المنحى يستند إلى Google Dremel.
جيد بشكل خاص لمعالجة البيانات بدرجة عالية من التعشيش.

الشكل 9. الهيكل الداخلي لملف الباركيه.
الباركيه يحول الهياكل المتداخلة إلى تخزين عمود مسطح ،
والذي يمثله مستوى التكرار ومستوى التعريف (R و D) والاستخدامات
بيانات التعريف لاستعادة السجلات أثناء قراءة البيانات لاستعادة الكل
الملف. التالي سترى مثالا على البحث والتطوير:
AddressBook { contacts: { phoneNumber: “555 987 6543” } contacts: { } } AddressBook { }

هذا كل شيء. الآن أنت تعرف الاختلافات في تنسيقات الملفات في Hadoop. إذا
العثور على أي أخطاء أو عدم الدقة ، لا تتردد في الاتصال
لي يمكنك الاتصال بي على LinkedIn .