Schema Drift في تعيين تدفق البيانات

ينطبق على:Azure Data Factory Azure Synapse Analytics

تلميح

جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!

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

للحماية من Schema drift، فمن المهم أن يكون لديك التسهيلات في أداة تدفق البيانات للسماح لك، كمهندس بيانات، بما يلي:

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

يدعم Azure Data Factory مخططات مرنة تتغير من التنفيذ إلى التنفيذ بحيث يمكنك إنشاء منطق تحويل بيانات عام دون الحاجة إلى إعادة تجميع تدفقات البيانات.

تحتاج إلى اتخاذ قرار هندسي في تدفق البيانات لقبول Schema drift في جميع أنحاء تدفقك. عند القيام بذلك، يمكنك الحماية من تغييرات المخطط من المصادر. ومع ذلك، ستفقد الربط المبكر للأعمدة والأنواع خلال تدفق بياناتك. يعامل Azure Data Factory تدفقات Schema drift كتدفقات ربط متأخرة، لذلك عند إنشاء التحويلات، لن تكون أسماء الأعمدة المنجرفة متاحة لك في طرق عرض المخطط طوال فترة التدفق.

يوفر هذا الفيديو مقدمة لبعض الحلول المعقدة التي يمكنك بناؤها بسهولة في Azure Data Factory أو مسارات Synapse Analytics مع ميزة Schema driftتدفق البيانات. في هذا المثال، نبني أنماطاً قابلة لإعادة الاستخدام استنادا إلى مخططات قاعدة بيانات مرنة:

Schema drift في المصدر

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

في تحويل المصدر، يعرف تعديل بيانات تعريف المصدر على أنه قراءة أعمدة لم يتم تحديدها في مخطط مجموعة البيانات. لتمكين Schema drift، تحقق Allow schema drift في تحويل المصدر.

Schema drift source

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

Schema drift في المتلقي

في عملية تحويل المتلقي، يحدث Schema drift عند كتابة أعمدة إضافية أعلى ما هو معرف في مخطط بيانات المتلقي. لتمكين Schema drift، تحقق Allow schema drift في تحويل المتلقي.

Schema drift sink

إذا مُكِّن Schema drift، تأكد من تشغيل شريط التمرير Auto-mapping في علامة التبويب "Mapping". مع تشغيل شريط التمرير هذا، تُكتب جميع الأعمدة الواردة إلى وجهتك. وإلا يجب استخدام تعيين يستند إلى قاعدة لكتابة الأعمدة المنجرفة.

Sink auto mapping

تحويل الأعمدة المنجرفة

عندما يكون هناك أعمدة منجرفة في تدفق بياناتك، يمكنك الوصول إليها في تحويلاتك بالطرق التالية:

  • استخدم byPosition وbyName التعبيرات للإشارة صراحة إلى عمود ما حسب الاسم أو رقم الموضع.
  • أضف نمط عمود في عمود مشتق أو تحويل تجميعي لمطابقته في أي تركيبة من الاسم أو الدفق أو الموضع أو الأصل أو النوع
  • أضف تعيين يستند إلى قاعدة في تحويل "تحديد" أو "متلقٍ" لمطابقة الأعمدة المنجرفة إلى الأسماء المستعارة للأعمدة عبر النمط

لمزيد من المعلومات حول كيفية تنفيذ أنماط الأعمدة، راجع أنماط الأعمدة في تعيين تدفق البيانات.

إجراء سريع حول خريطة الأعمدة المنجرفة

للإشارة بوضوح إلى الأعمدة المنجرفة، يمكنك إنشاء تعيينات لهذه الأعمدة بسرعة من خلال إجراء سريع لمعاينة البيانات. بمجرد تشغيل وضع التصحيح، انتقل إلى علامة التبويب "Data Preview" وانقر فوق Refresh لجلب معاينة بيانات. إذا اكتشف مصنع البيانات وجود أعمدة منجرفة، يمكنك النقر فوق Map Drifted، وأنشئ عموداً مشتقّاً يسمح لك بالرجوع إلى جميع الأعمدة المنجرفة في طرق عرض المخطط.

Screenshot shows the Data Preview tab with Map drifted called out.

في تحويل العمود المشتق المُنشئ، يُعيّن كل عمود منجرف إلى اسم الذي استخدم في الكشف عنه ونوع البيانات. في معاينة البيانات أعلاه، يُكشف عن العمود 'movieId' كعدد صحيح. بعد النقر فوق Drifted Map، يُعرف movieId في العمود مشتق كما toInteger(byName('movieId')) ويُضمن في طرق عرض المخطط في تحويلات المتلقين للمعلومات.

Screenshot shows the Derived Column's Settings tab.

في Data Flow Expression Language، ستجد مرافق إضافية لأنماط الأعمدة وschema drift مثل "byName" و"byPosition".