مشاركة عبر


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

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

تلميح

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

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

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

نوع التأكيد

التكوين

في لوحة تكوين تحويل التأكيد، يمكنك اختيار نوع التأكيد، وتوفير اسم فريد للتأكيد، والوصف الاختياري، وتحديد التعبير وعامل التصفية الاختياري. يشير جزء معاينة البيانات إلى الصفوف التي فشلت في تأكيداتك. بالإضافة إلى ذلك، يمكنك اختبار كل علامة سجل في اتجاه المصب باستخدام isError() وhasError() للسجلات التي فشلت التأكيدات.

تأكيد الإعدادات

نوع التأكيد

  1. توقع صواب: يجب تقييم نتيجة تعبيرك إلى نتيجة حقيقية منطقية. استخدم هذا الإعداد للتحقق من صحة نطاقات قيمة المجال في بياناتك.
  2. توقع فريد: عيّن عموداً أو تعبيراً كقاعدة تفرد في بياناتك. استخدم هذا الإعداد لوضع علامة على الصفوف المكررة.
  3. توقع موجود: يتوفر هذا الخيار فقط عند تحديد دفق وارد ثان. يبحث Exists في كلا الدفقين ويحدد ما إذا كانت الصفوف موجودة في كلا الدفقين استنادا إلى الأعمدة أو التعبيرات التي حددتها. لإضافة الدفق الثاني للموجود، حدد Additional streams.

تأكيد التكوين

فشل تدفق البيانات

حدد fail data flow إذا كنت ترغب في فشل نشاط تدفق البيانات على الفور بمجرد فشل قاعدة التأكيد.

معرف التأكيد

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

وصف التأكيد

أدخل وسجلاً لسلسلة التأكيد الخاص بك هنا. يمكنك استخدام التعبيرات وقيم عمود سياق السجل هنا أيضاً.

عامل التصفية

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

Expression

أدخل تعبيراً للتقييم لكل من تأكيداتك. يمكن أن يكون لديك تأكيدات متعددة لكل تحويل تأكيد. يتطلب كل نوع من أنواع التأكيد تعبيرا يحتاج ADF إلى تقييمه لاختبار ما إذا تم تمرير التأكيد.

تجاهل القيم الخالية

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

فشل سجل التأكيد المباشر

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

الأمثلة

source(output(
		AddressID as integer,
		AddressLine1 as string,
		AddressLine2 as string,
		City as string,
		StateProvince as string,
		CountryRegion as string,
		PostalCode as string,
		rowguid as string,
		ModifiedDate as timestamp
	),
	allowSchemaDrift: true,
	validateSchema: false,
	isolationLevel: 'READ_UNCOMMITTED',
	format: 'table') ~> source1
source(output(
		CustomerID as integer,
		AddressID as integer,
		AddressType as string,
		rowguid as string,
		ModifiedDate as timestamp
	),
	allowSchemaDrift: true,
	validateSchema: false,
	isolationLevel: 'READ_UNCOMMITTED',
	format: 'table') ~> source2
source1, source2 assert(expectExists(AddressLine1 == AddressLine1, false, 'nonUS', true(), 'only valid for U.S. addresses')) ~> Assert1

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

الأمثلة

source1, source2 assert(expectTrue(CountryRegion == 'United States', false, 'nonUS', null, 'only valid for U.S. addresses'),
	expectExists(source1@AddressID == source2@AddressID, false, 'assertExist', StateProvince == 'Washington', toString(source1@AddressID) + ' already exists in Washington'),
	expectUnique(source1@AddressID, false, 'uniqueness', null, toString(source1@AddressID) + ' is not unique')) ~> Assert1