المدونة

الصفحة الرئيسية / المدونة / أفرو ضد باركيه: هل أحدهما أفضل من الآخر؟

جدول المحتويات
الآلي, لا كود مكدس البيانات

تعلم كيف Astera يمكن لـ Data Stack تبسيط وتبسيط إدارة بيانات مؤسستك.

أفرو ضد باركيه: هل أحدهما أفضل من الآخر؟

17 أبريل، 2024

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

أدخل البيانات الكبيرة تنسيقات الملفات، مثل Avro و Feather ، الباركيه، ORC ، إلخ. هذه تطورت تنسيقات ملفات البيانات فعالة بشكل لا يصدق في تخزين البيانات الضخمة. ولكن مرة أخرى ، مع توفر العديد من تنسيقات ملفات البيانات الضخمة ، هناك احتمالات كبيرة بأن تجد نفسك على مفترق طرق عندما تقرر استخدام أحد تنسيقات ملفات البيانات هذه لتلبية متطلبات العمل (فكر في CSV مقابل Avro مقابل Parquet vs. ORC ، إلخ.)

في هذه المدونة ، سنناقش التنسيقين الشائعين لملفات البيانات الضخمة ، Avro و Parquet ، لمساعدتك في تحديد الخيار الأنسب لمتطلبات إدارة البيانات الخاصة بك.

الباركيه و أفرو تمثل تنسيقات بيانات بارزة، ولكل منها خصائص وأغراض مميزة.

تتفوق الباركيه في تحليلات البيانات بسبب تنسيق تخزين عمودي، Avro بمثابة نظام لتسلسل البيانات، والعرض التنسيق الموجه نحو الصف

ما هو اباتشي افرو؟

تم تطويره كجزء من Hadoop اباتشي مشروع Avro هو نظام تسلسل البيانات وتبادلها الذي يدعم لغات البرمجة المختلفة.

إنه تنسيق ملف تخزين بيانات قائم على الصفوف مع القدرة على تمرير البيانات من التطبيقات المكتوبة بلغات مختلفة.

يخزن تنسيق الملف ذو اللغة المحايدة المخطط بتنسيق JSON، بينما يتم تخزين البيانات نفسها بتنسيق ثنائي ، ويتم تخزين كل من البيانات والمخطط في ملف أو رسالة واحدة لتحسين حجم التخزين.

ما يميز Avro عن تنسيقات ملفات البيانات الأخرى هو تطور المخطط ، مما يعني أنه يدعم المخططات الديناميكية.

بقدر ما يتعلق الأمر بأنواع البيانات ، يدعم Avro أنواع البيانات المتداخلة والمعقدة (السجلات والتعدادات والمصفوفات والنقابات والخرائط) ، وأنواع البيانات البدائية (سلسلة ، منطقية ، طويلة ، و int).

ما هو اباتشي باركيه؟

باركيه هو تنسيق ملف بيانات كبير في نظام Hadoop البيئي مصمم للتعامل مع تخزين البيانات واسترجاعها بكفاءة. مثل Avro ، يعد Parquet أيضًا حياديًا للغة ، أي أنه متوفر بعدة لغات برمجة مثل Python و C ++ و Java وما إلى ذلك.

باركيه هو تنسيق ملف قائم على عمود. على عكس كيفية تخزين Avro للبيانات والمخطط ، يقوم Parquet بتضمين المخطط داخل البيانات بدلاً من تخزينه بتنسيق مختلف.

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

الآن وقد قدمنا ​​كلا تنسيقي ملفات البيانات ، فقد حان الوقت لمواجهة باركيه مقابل أفرو.

الصف مقابل تنسيق عمودي

يعد كلا تنسيقي الملف خيارًا رائعًا لملفات خطوط أنابيب ETL. ومع ذلك ، فإن قرار دمج أحدهما أو الآخر في النظام البيئي لتكامل البيانات الخاص بك سوف يسترشد بمتطلبات عملك.

Avro مقابل باركيه: تنسيق الصف مقابل تنسيق عمودي

الصف مقابل تنسيق عمودي

على سبيل المثال ، يعد Avro خيارًا أفضل إذا كانت متطلباتك تستلزم كتابة كميات هائلة من البيانات دون استرجاعها بشكل متكرر. هذا لأن Avro هو تنسيق ملف تخزين قائم على الصفوف ، وتوفر هذه الأنواع من تنسيقات الملفات أفضل أداء مع أعباء عمل معاملات الكتابة الثقيلة.

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

بقدر ما يتعلق الأمر بـ ETL ، ستجد أن Avro يتفوق على الباركيه. هذا لأن Parquet مصمم للاستعلام عن مجموعات فرعية فقط من أعمدة معينة بدلاً من الاستعلام عن بيانات كاملة من جميع الأعمدة.

تطور المخطط

لنفترض أن لديك ملف Avro ، ولسبب ما ، تحتاج إلى تغيير مخططه. ماذا كنت ستفعل؟ بسيط! ستعيد كتابة الملف بمخطط جديد.

لنفترض الآن أن هناك تيرابايت من ملفات Avro ، وتحتاج إلى تغيير مخططاتها. ماذا يحدث الان؟ هل ستعيد كتابة جميع الملفات واحدة تلو الأخرى في كل مرة تريد فيها تغيير المخطط؟ على الاغلب لا!

هذا هو المكان الذي يأتي فيه تطور المخطط.

يمكن تعريف تطور المخطط على أنه ميزة أو قدرة نظام إدارة قاعدة البيانات التي تمكنك من إجراء تغييرات في المخطط الحالي لتلبية البيانات التي تتغير بمرور الوقت. بعبارات بسيطة ، يمكّنك من تعديل المخطط لاستيعاب البيانات الجديدة مع ضمان توافقه مع الإصدارات السابقة لمخطط البيانات القديمة.

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

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

ضغط الملفات

تتمثل إحدى الفوائد الرئيسية لاستخدام تنسيقات ملفات البيانات الضخمة في حدوث انخفاض كبير في متطلبات التخزين ، وبالتالي في التكاليف. يتم تحقيق هذه الميزة من خلال طرق ضغط متعددة يدعمها كل من Avro و Parquet. ومع ذلك ، يكمن الاختلاف في كيفية تنفيذ الضغط ومدى فعاليته.

<فئة يوستمارك=

باستخدام Avro ، تحصل على أنواع الضغط التالية:

  • غير مضغوط
  • لاذع
  • ضاءل
  • Bzip2
  • Xz

تشمل طرق الضغط التي يدعمها الباركيه ما يلي:

  • غير مضغوط
  • لاذع
  • GZIP
  • LZ4
  • LZO

بشكل عام ، تقوم تنسيقات ملفات التخزين المستندة إلى العمود بضغط البيانات بشكل أكثر كفاءة مقارنة بنظيراتها المستندة إلى الصف.

لذلك ، إذا كنت تتطلع إلى تحقيق أقصى استفادة من خطوط أنابيب ETL وأنظمة التخزين المستهدفة من حيث الكفاءة ، فإن Parquet هو خيار أفضل.

أي واحد يجب عليك أن تختار؟

على الرغم من أن Avro و Parquet يلبيان حالات استخدام وتطبيقات مختلفة جدًا لـ ETL ، إلا أن متطلبات العمل هي التي ستشير إلى نوع تنسيق ملف البيانات الذي يجب عليك استخدامه. بعد قولي هذا ، دعونا لا ننسى أنه ليس من الضروري دائمًا أن يكون Avro vs Parquet. يمكنك استخدام كلا تنسيقي الملفات والحصول على أفضل ما في العالمين.

تحويل Avro إلى باركيه باستخدام Astera Centerprise

Astera Centerprise هي عبارة عن نظام أساسي لتكامل البيانات بدون رمز يتم تشغيله بواسطة محرك ETL / ELT للمعالجة المتوازية يعمل على تبسيط جميع مشاريع تكامل البيانات الخاصة بك.

لنفترض أنك تريد تحقيق أقصى استفادة من سعة تخزين البيانات الخاصة بك. ومع ذلك ، فأنت تدرك أن معظم بياناتك مخزنة في .avro ، مما يتيح لك فرصة تحويلها إلى. parquet.

الآن ، يمكن أن يكون هناك طريقتان يمكنك اتباعهما: a) كتابة تعليمات برمجية شاملة وتحويل جميع الملفات يدويًا إلى ملفات باركيه أو b) بناء خط أنابيب قابل لإعادة الاستخدام باستخدام Astera Centerprise لتحويل جميع ملفاتك دون كتابة سطر واحد من التعليمات البرمجية.

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

  • Null: لا يطبق أي ضغط
  • انكماش: يوفر أعلى معدل ضغط
  • Snappy: يوفر ضغطًا معقولًا بسرعات أعلى
  • Zstandard: يوفر ضغطًا أعلى دون التأثير على استخدام وحدة المعالجة المركزية

وللباركيه يمكنك الاختيار بين:

  • لاذع: قدر معقول من الضغط بسرعات عالية
  • Gzip: يوفر نسب ضغط أعلى ولكنه يتطلب المزيد من موارد وحدة المعالجة المركزية

إعداد المصدر والوجهة

شاشة Avro Source Layout Builder بتنسيق Astera Centerprise

شاشة Avro Source Layout Builder بتنسيق Astera Centerprise

لإنشاء خط الأنابيب ، ما عليك سوى سحب وإفلات ملف مصدر ملف Avro على مصمم تدفق البيانات وتوفير مسار الملف المصدر. في الشاشة التالية ، سترى ملف منشئ تخطيط إطار بيانات الإخراج حيث ستتمكن من عرض أنواع البيانات والتنسيقات والوصف والمزيد.

على الرغم من أن الصورة أعلاه تظهر نوع بيانات واحد فقط. يمكنك استخدام أنواع البيانات التالية لـ Avro مع Astera Centerprise:

  • أنواع البيانات المعقدة
    • مجموعة
    • القيد
    • الاتحاد
  • أنواع البيانات المنطقية
    • التاريخ
  • أنواع البيانات البدائية
    • منطقية
    • بايت
    • تعويم / مزدوج
    • كثافة العمليات / طويلة
    • فارغة
    • خيط

يمكنك الآن التوجه إلى معلمات التكوين نافذة وتحديد وتكوين المعلمات الديناميكية إذا لزم الأمر ؛ وإلا ، يمكنك التخطي للأمام وتكوين ملف وجهة ملف الباركيه.

تمامًا كما كان من قبل ، قم بسحب وإفلات ملف الباركيه وجهة الملف، قم بتوفير مسار الملف الوجهة ، وحدد طريقة الضغط التي تريدها.

كائن وجهة الباركيه

تكوين كائن وجهة باركيه في Astera Centerprise

بعد ذلك ، سترى ما هو مألوف منشئ التخطيط الشاشة ، حيث يمكنك إجراء تغييرات إذا لزم الأمر. أخيرًا ، ستهبط على معلمات التكوين الشاشة ، حيث يمكنك تحديد المعلمات الديناميكية إذا لزم الأمر.

تحسين جودة البيانات

بمجرد تكوين كل من المصدر والوجهة ، فأنت جاهز لتحويل Avro إلى Parquet. بعد ذلك ، ستحتاج إلى التأكد من أن خط الأنابيب الخاص بك يزيل أيضًا أي مشكلات في جودة البيانات.

لذلك ، يمكنك تطبيق قواعد معينة لجودة البيانات وتصفية البيانات التي تعتبرها غير ذات صلة أو لم تعد ضرورية باستخدام التحويلات التالية:

  • قواعد جودة البيانات
  • الفرز

بعد ذلك ، قم ببساطة بتعيين الحقول عن طريق التأشير والنقر ، وخط الأنابيب الخاص بك لتحويل Avro إلى Parquet جاهز.

أتمتة خط الأنابيب

لقد قمت بإنشاء خط الأنابيب. الآن ، اتخذ الخطوة الأخيرة: استخدم الأتمتة وتنسيق سير العمل لتعيين خط الأنابيب الخاص بك ليتم تشغيله تلقائيًا عندما يتلقى مشغلًا أو حدث حدث معين.

على سبيل المثال ، يمكنك ضبطه ليتم تشغيله تلقائيًا عندما يتم إسقاط ملفات .avro جديدة في مجلد معين. أو يمكنك أيضًا إعداده بحيث يتم تشغيله تلقائيًا ، على سبيل المثال ، كل يوم اثنين في الساعة 1 مساءً.

ما مقدار مساحة التخزين التي تتوقع استردادها؟

لتوفير تقدير لمقدار مساحة التخزين التي يمكنك توقع توفيرها عن طريق تحويل ملفات .avro إلى. parquet ، أخذنا ملفًا مصدرًا بتنسيق avro يحتوي على 25 مليون سجل وقمنا بتحويله إلى باركيه باستخدام Astera Centerprise. هذا ما يبدو عليه خط الأنابيب:

كان حجم ملف .avro هذا 2,757,965،2.63،865,203 كيلو بايت أو حوالي 0.83 جيجابايت. لتحقيق أقصى قدر من الكفاءة ، استخدمنا Gzip كطريقة ضغط ، وكان حجم ملف الباركيه الناتج XNUMX كيلوبايت أو حوالي XNUMX جيجابايت. وبالتالي ، تمكنا من الادخار تقريبًا 69٪ من مساحة التخزين ببساطة عن طريق تغيير تنسيقات الملفات.

لماذا استخدام Astera Centerprise?

إلى جانب التحويل من تنسيق إلى آخر ، Asteraالصورة موصلات أصلية يمكنك أيضًا من الحصول على بيانات ETL من مصادر مختلفة ، بما في ذلك قواعد البيانات والتطبيقات وتنسيقات الملفات ، وتخزينها في تنسيقات ملفات .avro و. parquet دون عناء.

إلى خلاصة، Astera Centerprise يمكّنك من:

  • استفد من تنسيقات ملفات البيانات الكبيرة للتعامل مع كميات هائلة من البيانات بسلاسة
  • أنشئ خطوط أنابيب ETL/ELT شاملة من البداية إلى النهاية في بيئة السحب والإفلات التي لا تحتوي على تعليمات برمجية
  • تبسيط تكامل البيانات باستخدام الأتمتة وتزامن العمليات
  • اتصل بمصادر البيانات والوجهات التي تختارها باستخدام مكتبة من الموصلات الأصلية
  • تحسين صحة البيانات باستخدام ميزات جودة البيانات المضمنة
  • تسريع تكامل البيانات باستخدام التأشير والنقر تعيين البيانات

هل أنت جاهز لتبسيط تكامل البيانات الضخمة لعملك؟ جرّب Astera Centerprise مع الإصدار التجريبي المجاني من 14 يومًا. إذا كنت ترغب في مناقشة حالة استخدام عملك مع خبراء البيانات لدينا ، فاتصل على +1 888-77-ASTERA اليوم!

ربما يعجبك أيضا
أفضل 7 أدوات لتجميع البيانات في عام 2024
إطار إدارة البيانات: ما هو؟ الأهمية والركائز وأفضل الممارسات
أفضل أدوات استيعاب البيانات في عام 2024
مع مراعاة Astera لتلبية احتياجات إدارة البيانات الخاصة بك؟

أنشئ اتصالاً خاليًا من التعليمات البرمجية مع تطبيقات مؤسستك وقواعد البيانات والتطبيقات السحابية لدمج جميع بياناتك.

دعونا نتواصل الآن!
يتيح الاتصال