تحويل البحث في تعيين تدفق البيانات

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

تلميح

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

تتوفر تدفقات البيانات في كل من Azure Data Factory وخطوط أنابيب Azure Synapse. تنطبق هذه المقالة على تعيين تدفقات البيانات. إذا كنت جديداً في مجال التحويلات، فيرجى الرجوع إلى المقالة التمهيدية تحويل البيانات باستخدام تدفق بيانات التعيين.

استخدم تحويل البحث للإشارة إلى بيانات من مصدر آخر في تدفق بيانات. يقوم تحويل البحث بإلحاق أعمدة من البيانات المتطابقة ببيانات المصدر.

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

التكوين

Screenshot shows the Lookup settings tab with the labels described in the following text.

الدفق الأساسي: الدفق الوارد للبيانات. هذا التدفق مكافئ للجانب الأيسر من الصلة.

دفق البحث: البيانات التي يتم إلحاقها بالتدفق الأساسي. يتم تحديد البيانات المضافة بواسطة شروط البحث. هذا التدفق مكافئ للجانب الأيمن من الصلة.

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

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

شروط البحث: اختر الأعمدة المراد مطابقتها. إذا تم استيفاء شرط المساواة، فسيتم اعتبار الصفوف متطابقة. مرر مؤشر الماوس وحدد "العمود المحسوب" لاستخراج قيمة باستخدام لغة تعبير تدفق البيانات.

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

الوصلات غير المتساوية

لاستخدام عامل تشغيل شرطي مثل لا يساوي (! =) أو أكبر من (>) في شروط البحث، قم بتغيير قائمة عامل التشغيل المنسدلة بين العمودين. تتطلب الصلات غير المتساوية بث واحد على الأقل من الدفقين باستخدام البث الثابت في علامة التبويب تحسين .

Non-equi lookup

تحليل الصفوف المتطابقة

بعد تحويل البحث، يمكن استخدام الدالة isMatch() لمعرفة ما إذا كان البحث مطابقا للصفوف الفردية.

Lookup pattern

مثال على هذا النمط هو استخدام تحويل الانقسام الشرطي للتقسيم على الدالة isMatch() . في المثال أعلاه، تمر الصفوف المطابقة عبر الدفق العلوي وتتدفق الصفوف غير المطابقة عبر NoMatch الدفق.

اختبار شروط البحث

عند اختبار تحويل البحث بمعاينة البيانات في وضع التصحيح، استخدم مجموعة صغيرة من البيانات المعروفة. عند أخذ عينات من صفوف من مجموعة بيانات كبيرة، لا يمكنك التنبؤ بالصفوف والمفاتيح التي ستتم قراءتها للاختبار. تكون النتيجة غير حتمية، ما يعني أن شروط الانضمام الخاصة بك قد لا تُرجع أي مطابقات.

تحسين البث

Broadcast Join

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

لا يوصى بتعطيل البث عبر الخيار إيقافما لم تتعرض الصلات لأخطاء انتهاء المهلة.

البحث المخزن مؤقتاً

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

البرنامج النصي لتدفق البيانات

بناء الجملة

<leftStream>, <rightStream>
    lookup(
        <lookupConditionExpression>,
        multiple: { true | false },
        pickup: { 'first' | 'last' | 'any' },  ## Only required if false is selected for multiple
        { desc | asc }( <sortColumn>, { true | false }), ## Only required if 'first' or 'last' is selected. true/false determines whether to put nulls first
        broadcast: { 'auto' | 'left' | 'right' | 'both' | 'off' }
    ) ~> <lookupTransformationName>

مثال

Screenshot shows the Lookup settings tab for the following code.

يوجد البرنامج النصي لتدفق البيانات لتهيئة البحث أعلاه في مقتطف الشفرة أدناه.

SQLProducts, DimProd lookup(ProductID == ProductKey,
    multiple: false,
    pickup: 'first',
    asc(ProductKey, true),
    broadcast: 'auto')~> LookupKeys