تنسيق ملف Excel في Azure Data Factory و Azure Synapse Analytics

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

تلميح

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

تابع هذه المقالة عندما تريد تحليل ملفات Excel. تدعم الخدمة كلًا من ".xls" و ".xlsx".

تنسيق Excel مدعوم للموصلات التالية: Amazon S3 ، Amazon S3 Compatible Storage ، Azure Blob ، Azure Data Lake Storage Gen1 ، Azure Data Lake Storage Gen2 ، Azure Files ، نظام الملفات ، FTP ، Google Cloud Storage ، HDFS و HTTP و Oracle Cloud Storage و SFTP . ويتم دعمه كمصدر ولكن ليس كمتلقياً.

إشعار

تنسيق ".xls" غير مدعوم أثناء استخدام HTTP.

خصائص مجموعة البيانات

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

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع لمجموعة البيانات على Excel. ‏‏نعم‬
مكان إعدادات الموقع للملف (الملفات). يحتوي كل موصل يستند إلى ملف على نوع الموقع الخاص به وخصائص مدعومة ضمن location. ‏‏نعم‬
اسم الورقة اسم ورقة عمل Excel لقراءة البيانات. حدد sheetName أو sheetIndex
فهرس الورقة فهرس ورقة عمل Excel لقراءة البيانات، بدءاً من 0. حدد sheetName أو sheetIndex
النطاق نطاق الخلية في ورقة العمل المحددة لتحديد موقع البيانات الانتقائية، على سبيل المثال:
- غير محدد: لقراءة ورقة العمل بأكملها كجدول من أول صف وعمود غير فارغين
- A3يقرأ جدول بدءاً من الخلية المحددة، ويكشف ديناميكياً كافة الصفوف أدناه وجميع الأعمدة إلى اليمين
- A3:H5: يقرأ هذا النطاق الثابت كجدول
- A3:A3يقرأ هذه الخلية المفردة
لا
firstRowAsHeader يحدد ما إذا كان سيتم التعامل مع الصف الأول في ورقة العمل / النطاق المحدد كخط رأس مع أسماء الأعمدة.
القيم المسموح بها هي صوابو خطأ (افتراضياً).
لا
قيمة خالية يحدد تمثيل السلسلة للقيمة الخالية.
القيمة الافتراضية هي سلسلة فارغة.
لا
ضغط مجموعة من الخصائص لتكوين ضغط الملف. قم بتكوين هذا القسم عندما تريد الضغط / فك الضغط أثناء تنفيذ النشاط. لا
النوع
(أسفل compression)
برنامج ترميز الضغط المستخدم لقراءة / كتابة ملفات JSON.
القيم المسموح بها هي bzip2، أو gzip، أو deflate، أو ZipDeflate، أو TarGzip، أو Tar، أو snappy، أو lz4. لا يتم ضغط الافتراضي.
ملاحظة حالياً لا يدعم نشاط النسخ "snappy" و"lz4"، ولا يدعم تدفق البيانات الخرائط "ZipDeflate" و"TarGzip" و"Tar".
ملاحظة عند استخدام نشاط النسخ لفك ضغط ملف (ملفات) ZipDeflate والكتابة إلى مخزن البيانات المستندة إلى الملف، يتم استخراج الملفات إلى المجلد: <path specified in dataset>/<folder named as source zip file>/.
‏‏لا.
المستوى
(أسفل compression)
نسبة الضغط.
القيم المسموح بها هي Optimal أو Fastest.
- الأسرع: يجب أن تكتمل عملية الضغط بأسرع وقت ممكن، حتى إذا لم يتم ضغط الملف الناتج بشكل أمثل.
- الأمثل : يجب ضغط عملية الضغط على النحو الأمثل، حتى لو استغرقت العملية وقتاً أطول حتى تكتمل. لمزيد من المعلومات، يمكنك الاطلاع على موضوع مستوى الضغط.
لا

فيما يلي مثال على مجموعة بيانات Excel على تخزين Azure Blob:

{
    "name": "ExcelDataset",
    "properties": {
        "type": "Excel",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, retrievable during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder",
            },
            "sheetName": "MyWorksheet",
            "range": "A3:H5",
            "firstRowAsHeader": true
        }
    }
}

انسخ خصائص النشاط

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

Excel كمصدر

يتم دعم الخصائص التالية في جزء نسخ النشاط *Source*.

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع لمصدر نشاط النسخ على ExcelSource . ‏‏نعم‬
إعدادات المخزن lمجموعة من الخصائص حول كيفية قراءة البيانات من مخزن بيانات. يحتوي كل موصل يستند إلى ملف إعدادات القراءة المدعومة الخاصة به ضمن storeSettings. لا
"activities": [
    {
        "name": "CopyFromExcel",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "ExcelSource",
                "storeSettings": {
                    "type": "AzureBlobStorageReadSettings",
                    "recursive": true
                }
            },
            ...
        }
        ...
    }
]

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

في تعيين تدفقات البيانات، يمكنك قراءة تنسيق Excel في مخازن البيانات التالية: Azure Blob Storage, Azure Data Lake Storage Gen1 وAzure Data Lake Storage Gen2 وAmazon S3 وSFTP. يمكنك الإشارة إلى ملفات Excel إما باستخدام مجموعة بيانات Excel أو باستخدام مجموعة بيانات مضمنة .

خصائص المصدر

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

Name ‏‏الوصف مطلوب القيم المسموح بها خاصية البرنامج النصي لتدفق البيانات
مسارات محرف البدل ستتم معالجة جميع الملفات المطابقة لمسار محرف البدل. يتجاوز المجلد ومسار الملف المحددين في مجموعة البيانات. no سلسلة[] wildcardPaths
مسار جذر التقسيم بالنسبة لبيانات الملف المقسمة، يمكنك إدخال مسار جذر القسم لقراءة المجلدات المقسمة كأعمدة no السلسلة‬ partitionRootPath
قائمة الملفات ما إذا كان المصدر يشير إلى ملف نصي يسرد الملفات المراد معالجتها no true أو false قائمة الملفات
عمود لتخزين اسم الملف إنشاء عمود جديد باسم الملف المصدر ومساره no السلسلة‬ rowUrlColumn
بعد الانتهاء احذف أو انقل الملفات بعد المعالجة. مسار الملف يبدأ من جذر الحاوية no حذف: true أو false
نقل: ['<from>', '<to>']
إزالة الملفات
نقل الملفات
التصفية حسب آخر تعديل اختيار تصفية الملفات استناداً إلى آخر مرة تم تبديلها no طابع زمني تم التعديل بعد ذلك
modifiedBefore
السماح بعدم العثور على أي ملفات إذا كان هذا صحيحاً، فلن يتم طرح خطأ إذا لم يتم العثور على ملفات no true أو false ignoreNoFilesFound

مثال المصدر

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

مصدر Excel

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

source(allowSchemaDrift: true,
    validateSchema: false,
    wildcardPaths:['*.xls']) ~> ExcelSource

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

 مجموعة بيانات مصدر Excel المضمنة

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

source(allowSchemaDrift: true,
    validateSchema: false,
    format: 'excel',
    fileSystem: 'container',
    folderPath: 'path',
    fileName: 'sample.xls',
    sheetName: 'worksheet',
    firstRowAsHeader: true) ~> ExcelSourceInlineDataset

التعامل مع ملفات Excel كبيرة جداً

لا يدعم موصل Excel تدفق القراءة لنشاط النسخ ويجب تحميل الملف بالكامل في الذاكرة قبل التمكن من قراءة البيانات. لاستيراد المخطط أو معاينة البيانات أو تحديث مجموعة بيانات Excel، يجب إرجاع البيانات قبل انتهاء مهلة طلب http (100 ثانية). بالنسبة لملفات Excel الكبيرة، قد لا تنتهي هذه العمليات خلال هذا الإطار الزمني، ما يتسبب في خطأ انتهاء المهلة. إذا كنت تريد نقل ملفات Excel كبيرة الحجم (>100 ميغابايت) إلى مخزن بيانات آخر، يمكنك استخدام أحد الخيارات التالية للتغلب على هذا القيد:

  • استخدم وقت تشغيل التكامل المستضاف ذاتياً (SHIR)، ثم استخدم نشاط النسخ لنقل ملف Excel الكبير إلى مخزن بيانات آخر باستخدام SHIR.
  • قسّم ملف Excel الكبير إلى عدة ملفات أصغر، ثم استخدم نشاط النسخ لنقل المجلد الذي يحتوي على الملفات.
  • استخدم نشاط تدفق البيانات لنقل ملف Excel الكبير إلى مخزن بيانات آخر. يدعم Dataflow دفق القراءة لـ Excel ويمكنه نقل/تحريك الملفات الكبيرة بسرعة.
  • قم يدوياً بتحويل ملف Excel الكبير إلى تنسيق CSV، ثم استخدم نشاط النسخ لنقل الملف.