تنسيق نموذج البيانات العامة في Azure Data Factory وتحليلات Synapse

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

تلميح

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

نظام بيانات تعريف نموذج البيانات العامة (CDM) يجعل من الممكن للبيانات ومعناها أن تكون مشتركة بسهولة عبر التطبيقات والعمليات التجارية. لمعرفة المزيد، راجع نظرة عامة حول نموذج البيانات العامة.

في Azure Data Factory ومسارات Synapse، يمكن للمستخدمين تحويل البيانات من كيانات CDM في كل من model.json ونموذج البيان المخزن في Azure Data Lake Store Gen2 (ADLS Gen2) باستخدام تدفقات بيانات التعيين. يمكنك أيضاً تلقي البيانات بتنسيق CDM باستخدام مراجع كيان CDM التي ستُنزل بياناتك بتنسيق CSV أو Parquet في مجلدات مقسمة.

تعيين خصائص تدفق البيانات

يتوفر نموذج البيانات العامة كـ مجموعة بيانات مضمنة في تعيين تدفقات البيانات كمصدر ومتلقي.

إشعار

عند كتابة كيانات CDM، يجب أن يكون لديك تعريف كيان CDM (مخطط بيانات التعريف) المعرفة مسبقا للاستخدام كمرجع. سيقرأ متلقي تدفق البيانات ملف كيان CDM هذا ويستورد المخطط إلى المتلقي لتعيين الحقل.

خصائص المصدر

يسرد الجدول أدناه الخصائص المعتمدة من قبل مصدر CDM. يمكنك تحرير هذه الخصائص في علامة التبويب "Source options".

Name ‏‏الوصف مطلوب القيم المسموح بها خاصية البرنامج النصي لتدفق البيانات
Format يجب أن يكون التنسيق cdm yes cdm format
تنسيق بيانات التعريف حيث يوجد مرجع الكيان إلى البيانات. إذا كنت تستخدم CDM الإصدار 1.0، اختر "بيان". إذا كنت تستخدم إصدار CDM قبل 1.0، اختر model.json. ‏‏نعم‬ 'manifest' أو 'model' manifestType
موقع الجذر: حاوية اسم حاوية مجلد CDM yes السلسلة‬ fileSystem
موقع الجذر: مسار المجلد موقع المجلد الجذر لمجلد CDM yes السلسلة‬ folderPath
ملف البيان: مسار الكيان مسار المجلد للكيان داخل المجلد الجذر no السلسلة‬ entityPath
ملف البيان: اسم البيان اسم ملف البيان. القيمة الافتراضية هي "افتراضية" لا السلسلة‬ manifestName
التصفية حسب آخر تعديل اختيار تصفية الملفات استناداً إلى آخر مرة تم تبديلها no طابع زمني تم التعديل بعد ذلك
modifiedBefore
خدمة مرتبطة بالمخطط الخدمة المرتبطة حيث تقع المجموعة نعم، في حالة استخدام بيان 'adlsgen2' أو 'github' corpusStore
حاوية مرجع للكيان مجموعة الحاويات موجودة نعم، في حالة استخدام البيان والمجموعة في ADLS Gen2 السلسلة‬ adlsgen2_fileSystem
مستودع مرجع الكيان اسم مستودع GitHub نعم، في حالة استخدام البيان والمجموعة في GitHub السلسلة‬ github_repository
فرع مرجع الكيان فرع مستودع GitHub نعم، في حالة استخدام البيان والمجموعة في GitHub السلسلة‬ github_branch
مجلد المجموعة موقع الجذر في المجموعة نعم، في حالة استخدام بيان السلسلة‬ corpusPath
كيان المجموعة المسار إلى مرجع الكيان yes السلسلة‬ الكيان
السماح بعدم العثور على أي ملفات إذا كان هذا صحيحاً، فلن يتم طرح خطأ إذا لم يتم العثور على ملفات no true أو false ignoreNoFilesFound

عند تحديد "مرجع الكيان" في كل من تحويل المصدر والمتلقي، يمكنك التحديد من بين هذه الخيارات الثلاثة لموقع مرجع الكيان الخاص بك:

  • يستخدم المحلي الكيان المحدد في ملف البيان المستخدم بالفعل من قبل الخدمة
  • سيطلب منك Custom الإشارة إلى ملف بيان كيان يختلف عن ملف البيان الذي تستخدمه الخدمة
  • سيستخدم Standard مرجع كيان من المكتبة القياسية لكيانات CDM التي تم الاحتفاظ بها في GitHub.

إعدادات Sink

  • قم بالإشارة إلى ملف مرجع كيان CDM الذي يحتوي على تعريف الكيان الذي ترغب في كتابته.

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

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

تنسيق الكيان

  • تعيين موقع ملف الإخراج وموقع واسم ملف البيان.

موقع cdm

استيراد مخطط

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

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

إعدادات متلقي CDM

إشعار

عند استخدام نوع مصدر model.json الذي ينشأ من تدفقات بيانات Power BI أو Power Platform، قد تواجه أخطاء "مسار المجموعة فارغ" من تحويل المصدر. غالباً ما يكون ذلك بسبب مشاكل تنسيق مسار موقع القسم في الملف model.json. لإصلاح ذلك، اتبع الخطوات التالية:

  1. افتح الملف model.json في محرر نص
  2. ابحث عن الأقسام. خاصية الموقع
  3. قم بتغيير "blob.core.windows.net" إلى "dfs.core.windows.net"
  4. إصلاح أي ترميز "%2F" في عنوان URL إلى "/"
  5. في حالة استخدام تدفقات بيانات ADF، يجب استبدال أحرف خاصة في مسار ملف القسم بقيم أبجدية عددية، أو التبديل إلى تدفق البيانات Azure Synapse

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

source(output(
        ProductSizeId as integer,
        ProductColor as integer,
        CustomerId as string,
        Note as string,
        LastModifiedDate as timestamp
    ),
    allowSchemaDrift: true,
    validateSchema: false,
    entity: 'Product.cdm.json/Product',
    format: 'cdm',
    manifestType: 'manifest',
    manifestName: 'ProductManifest',
    entityPath: 'Product',
    corpusPath: 'Products',
    corpusStore: 'adlsgen2',
    adlsgen2_fileSystem: 'models',
    folderPath: 'ProductData',
    fileSystem: 'data') ~> CDMSource

خصائص المتلقّي

يسرد الجدول أدناه الخصائص المدعومة من قبل متلقي CDM. يمكنك تحرير هذه الخصائص في علامة التبويب "Settings".

Name ‏‏الوصف مطلوب القيم المسموح بها خاصية البرنامج النصي لتدفق البيانات
Format يجب أن يكون التنسيق cdm yes cdm format
موقع الجذر: حاوية اسم حاوية مجلد CDM yes السلسلة‬ fileSystem
موقع الجذر: مسار المجلد موقع المجلد الجذر لمجلد CDM yes السلسلة‬ folderPath
ملف البيان: مسار الكيان مسار المجلد للكيان داخل المجلد الجذر no السلسلة‬ entityPath
ملف البيان: اسم البيان اسم ملف البيان. القيمة الافتراضية هي "افتراضية" لا السلسلة‬ manifestName
خدمة مرتبطة بالمخطط الخدمة المرتبطة حيث تقع المجموعة yes 'adlsgen2' أو 'github' corpusStore
حاوية مرجع للكيان مجموعة الحاويات موجودة نعم، إذا كانت المجموعة في ADLS Gen2 السلسلة‬ adlsgen2_fileSystem
مستودع مرجع الكيان اسم مستودع GitHub نعم، إذا كانت المجموعة في GitHub السلسلة‬ github_repository
فرع مرجع الكيان فرع مستودع GitHub نعم، إذا كانت المجموعة في GitHub السلسلة‬ github_branch
مجلد المجموعة موقع الجذر في المجموعة yes السلسلة‬ corpusPath
كيان المجموعة المسار إلى مرجع الكيان yes السلسلة‬ الكيان
مسار التقسيم الموقع الذي ستتم كتابة القسم فيه no السلسلة‬ partitionPath
مسح المجلد إذا تم مسح المجلد الوجهة قبل الكتابة no true أو false اقتطاع
نوع التنسيق اختر تحديد تنسيق باركيه no parquet إذا تم تحديده تنسيق فرعي
محدد العمود في حالة النقل إلى DelimitedText، كيفية تحديد الأعمدة نعم، في حالة النقل إلى DelimitedText السلسلة‬ columnDelimiter
الصف الأول كعنوان في حالة استخدام DelimitedText، ما إذا كانت أسماء الأعمدة تضاف كعنوان no true أو false columnNamesAsHeader

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

البرنامج النصي لتدفق البيانات المرتبط هو:

CDMSource sink(allowSchemaDrift: true,
    validateSchema: false,
    entity: 'Product.cdm.json/Product',
    format: 'cdm',
    entityPath: 'ProductSize',
    manifestName: 'ProductSizeManifest',
    corpusPath: 'Products',
    partitionPath: 'adf',
    folderPath: 'ProductSizeData',
    fileSystem: 'cdm',
    subformat: 'parquet',
    corpusStore: 'adlsgen2',
    adlsgen2_fileSystem: 'models',
    truncate: true,
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> CDMSink

قم بإنشاء تحويل مصدر في تعيين تدفق البيانات.