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

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

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

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

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

التكوين

لقطة شاشة تعرض علامة التبويب

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

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

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

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

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

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

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

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

بحث غير متساوٍ

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

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

نمط البحث

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

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

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

تحسين البث

الانضمام للبث

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

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

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

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

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

بناء الجملة

<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>

مثال

لقطة شاشة تعرض علامة تبويب إعدادات البحث للشفرة التالية.

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

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

الخطوات التالية