اخبار منصات الأفلام

Psyberg: اللحاق بالركب الآلي من النهاية إلى النهاية | بواسطة مدونة Netflix للتكنولوجيا


مدونة نيتفليكس التقنية

بواسطة ابهينايا شيتي, بهارات موماديسيتي

سيغطي منشور المدونة هذا كيف يساعد Psyberg في أتمتة عملية الالتقاط الشامل لخطوط الأنابيب المختلفة، بما في ذلك جداول الأبعاد.

في الأقساط السابقة من هذه السلسلة، قدمنا ​​Psyberg وتعمقنا في أوضاع التشغيل الأساسية: معالجة البيانات عديمة الحالة ومعالجة البيانات ذات الحالة. الآن، دعونا نستكشف حالة خطوط الأنابيب لدينا بعد دمج Psyberg.

دعنا نستكشف كيف يمكن لأنماط Psyberg المختلفة أن تساعد في مسار البيانات متعدد الخطوات. سنعود إلى نموذج دورة حياة العميل:

متطلبات المعالجة:
تتبع حالة الحسابات في نهاية الساعة، على سبيل المثال، نشط/تمت ترقيته/تم تخفيضه/تم إلغاؤه.

حل:
أحد الأساليب المحتملة هنا سيكون على النحو التالي

  1. يخلق اثنان عديمي الجنسية حقيقة الجداول :
    أ. الاشتراكات
    ب. خطط الحساب
  2. يخلق دولة واحدة حقيقة طاولة:
    أ. يلغي
  3. إنشاء البعد الرسمي يقرأ جداول الحقائق المذكورة أعلاه كل ساعة ويستمد أحدث حالة للحساب.

دعونا نلقي نظرة على كيفية دمج ذلك مع Psyberg للتعامل التلقائي مع البيانات المتأخرة والتقاط البيانات المقابلة من البداية إلى النهاية.

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

يبدأ سير العمل بخطوة تهيئة Psyberg (init).

  • مدخل: قائمة الجداول المصدر ووضع المعالجة المطلوب
  • انتاج |: يحدد Psyberg الأحداث الجديدة التي حدثت منذ آخر علامة مائية عالية (HWM) ويسجلها في جدول بيانات تعريف الجلسة.

يمكن بعد ذلك قراءة جدول البيانات التعريفية للجلسة لتحديد إدخال المسار.

هذا هو النمط العام الذي نستخدمه في خطوط أنابيب ETL الخاصة بنا.

أ. يكتب
قم بتطبيق منطق أعمال ETL على بيانات الإدخال المحددة في الخطوة 1 واكتب إلى لقطة جبل الجليد غير المنشورة استنادًا إلى وضع Psyberg

ب. مراجعة
قم بإجراء فحوصات الجودة المختلفة على البيانات المرحلية. يتم استخدام جدول جلسة البيانات التعريفية الخاص بـ Psyberg لتحديد الأقسام المضمنة في التشغيل الدفعي. يتم إجراء العديد من عمليات التدقيق، مثل التحقق من أعداد المصدر والهدف، على هذه الدفعة من البيانات.

ج. ينشر
إذا نجحت عمليات التدقيق، فاختر اللقطة المرحلية لنشر البيانات إلى الإنتاج.

الآن بعد أن تم تنفيذ مسار البيانات بنجاح، فإن العلامة المائية العالية الجديدة المحددة في خطوة التهيئة ملتزمة بجدول البيانات التعريفية للعلامة المائية العالية في Psyberg. وهذا يضمن أن المثيل التالي لسير العمل سوف يلتقط التحديثات الأحدث.

  • يتيح لنا عزل خطوة Psyberg عن مسار البيانات الأساسية الحفاظ على نمط ثابت يمكن تطبيقه عبر خطوط أنابيب المعالجة عديمة الحالة وذات الحالة ذات المتطلبات المختلفة.
  • يتيح لنا هذا أيضًا تحديث طبقة Psyberg دون لمس سير العمل.
  • وهذا متوافق مع كل من Python وScala Spark.
  • أصبح تصحيح الأخطاء/اكتشاف ما تم تحميله في كل عملية تشغيل أمرًا سهلاً بمساعدة معلمات سير العمل وبيانات تعريف Psyberg.

دعنا نعود إلى مثال دورة حياة العميل. بمجرد دمج جميع المكونات الأربعة مع Psyberg، فإليك كيفية إعدادها للالتقاط التلقائي.

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

في التحميل المتسلسل ETL، لدينا الميزات التالية:

  • عتبة اللحاق بالركب: يحدد هذا فترة المراجعة للبيانات التي تتم قراءتها. على سبيل المثال، خذ في الاعتبار بيانات آخر 12 ساعة فقط.
  • نوع تحميل البيانات: يمكن لـ ETL إما تحميل البيانات المفقودة/الجديدة على وجه التحديد أو إعادة تحميل النطاق المحدد بالكامل.
  • تسجيل البيانات الوصفية: يتم الاحتفاظ بالبيانات الوصفية لإمكانية التتبع.

هنا أ تجول حول كيفية قيام هذا النظام باللحاق تلقائيًا في حالة وصول البيانات متأخرًا:

فرضية: تم آخر تحميل لجميع الجداول حتى الساعة 5، مما يعني أن أي بيانات من الساعة 6 فصاعدًا تعتبر جديدة، وأي شيء قبل ذلك يتم تصنيفه على أنه بيانات متأخرة (كما هو موضح باللون الأحمر أعلاه)

اللحاق بمستوى الحقيقة:

  1. أثناء مرحلة تهيئة Psyberg، تحدد حقائق الاشتراك والخطة البيانات المتأخرة من الساعتين 2 و3، بالإضافة إلى أحدث البيانات من الساعة 6. ثم يقوم ETL بإلحاق هذه البيانات بالأقسام المقابلة داخل جداول الحقائق.
  2. تحدد تهيئة Psyberg لحقيقة الإلغاء البيانات المتأخرة من الساعة 5 والبيانات الإضافية من الساعتين 6 و7. وبما أن ETL هذا يعمل في وضع الحالة، فسيتم استبدال البيانات الموجودة في الجدول الهدف من الساعات 5 إلى 7 بالبيانات الجديدة.
  3. من خلال التركيز فقط على التحديثات وتجنب إعادة معالجة البيانات بناءً على نافذة مراجعة ثابتة، تحافظ كل من معالجة البيانات عديمة الحالة ومعالجة البيانات ذات الحالة على الحد الأدنى من التغيير. ويضمن هذا النهج معالجة البيانات بكفاءة ودقة.

اللحاق بمستوى البعد:

  1. يبحث غلاف Psyberg الخاص بـ ETL ذو الحالة في التحديثات التي تم إجراؤها على جداول الحقائق المدعمة بـ Psyberg لتحديد نطاق التاريخ والساعة لإعادة المعالجة. وإليك كيفية حساب النطاق أعلاه:
    MinHr = الأقل (الحد الأدنى لساعة المعالجة من كل جدول مصدر)
    وهذا يضمن عدم تفويت أي بيانات، بما في ذلك البيانات المتأخرة. في هذه الحالة، الحد الأدنى لساعة معالجة البيانات هو الساعة 2.
    MaxHr = الأقل (الحد الأقصى لساعة المعالجة من كل جدول مصدر)
    وهذا يضمن عدم معالجة البيانات الجزئية، أي الساعات التي لم يتم تحميل البيانات الخاصة بها في جميع الجداول المصدر. في هذه الحالة، الحد الأقصى للساعة لمعالجة البيانات هو الساعة 6.
  2. تستخدم عملية ETL هذا النطاق الزمني لحساب الحالة في الأقسام المتغيرة والكتابة فوقها في الجدول الهدف. يساعد هذا في استبدال البيانات فقط عند الحاجة ويقلل من عمليات إعادة المعالجة غير الضرورية.

كما رأينا أعلاه، من خلال تسلسل سير عمل Psyberg، يمكننا أتمتة عملية التقاط البيانات المتأخرة من الساعتين 2 و6. لا يحتاج مهندس البيانات إلى إجراء أي تدخل يدوي في هذه الحالة، وبالتالي يمكنه التركيز على أشياء أكثر أهمية!

لقد كان إدخال Psyberg في سير العمل لدينا بمثابة أداة قيمة في تعزيز الدقة والأداء. فيما يلي المجالات الرئيسية التي شهدت تحسينات من استخدام Psyberg:

  • الموارد الحسابية المستخدمة:
    في بعض الحالات، لاحظنا انخفاضًا كبيرًا في استخدام الموارد، مع انخفاض عدد نوى Spark المستخدمة بنسبة 90% بعد تنفيذ Psyberg، مقارنة باستخدام نوافذ الاسترجاع الثابتة
  • سير العمل وإعداد الجدول:
    لقد قمنا بدمج 30 جدولًا و13 سير عمل في المعالجة الإضافية منذ تنفيذ Psyberg
  • الموثوقية والدقة:
    منذ تأهيل سير العمل إلى Psyberg، لم نشهد أي عمليات التقاط يدوية أو حوادث مفقودة للبيانات
  • قالب التمهيد:
    أصبحت عملية دمج الجداول الجديدة في المعالجة المتزايدة أكثر سهولة وتتطلب الآن الحد الأدنى من الجهد باستخدام Psyberg

تشير مقاييس الأداء هذه إلى أن اعتماد Psyberg كان مفيدًا لكفاءة سير عمل معالجة البيانات لدينا.

أدى دمج Psyberg في عملياتنا إلى تحسين سير عمل البيانات لدينا وفتح إمكانيات مثيرة للمستقبل. بينما نواصل الابتكار، يركز فريق منصة البيانات في Netflix على إنشاء حل شامل لحالات استخدام المعالجة المتزايدة. يهدف هذا الحل على مستوى النظام الأساسي إلى تعزيز قدرات معالجة البيانات لدينا عبر المؤسسة. تستطيع ان تقرأ المزيد عن هذا هنا!

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

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى