نسخ البيانات وتحويلها في Azure Data Lake Storage Gen2، باستخدام Azure Data Factory أو Azure Synapse Analytics
ينطبق على: Azure Data Factory Azure Synapse Analytics
تلميح
جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!
إن Azure Data Lake Storage Gen2 (ADLS Gen2) عبارة عن مجموعة من الإمكانات المخصصة لتحليلات البيانات الضخمة المدمجة في مخزن الكائنات الثنائية كبيرة الحجم لـ Azure. يمكنك استخدامه لواجهة مع البيانات الخاصة بك باستخدام كل من نظام الملفات ونماذج تخزين العنصر.
تسلط هذه المقالة الضوء على كيفية استخدام "نشاط النسخ"، من أجل نسخ البيانات من Azure Data Lake Storage Gen2 وإليه، واستخدام تدفق البيانات لنقل البيانات في Azure Data Lake Storage Gen2. للتعرف على المزيد، اقرأ المقالة التمهيدية حول Azure Data Factory أو Azure Synapse Analytics.
تلميح
أما بالنسبة إلى سيناريو ترحيل مستودع البيانات أو data lake، تعرف على المزيد في ترحيل البيانات من data lake أو مستودع البيانات إلى Azure.
القدرات المدعومة
موصل Azure Data Lake Storage Gen2 مدعوم للأنشطة التالية:
القدرات المدعومة | IR | نقطة النهاية الخاصة المُدارة |
---|---|---|
Copy activity (المصدر/المتلق) | (1) (2) | ✓ |
تعيين تدفق البيانات (المصدر/ المتلقي) | (1) | ✓ |
نشاط البحث | (1) (2) | ✓ |
نشاط GetMetadata | (1) (2) | ✓ |
حذف النشاط | (1) (2) | ✓ |
① وقت تشغيل تكامل Azure ② وقت تشغيل التكامل المستضاف ذاتيًا
بالنسبة لنشاط النسخ، باستخدام هذا الموصل، يمكنك القيام بما يلي:
- نسخ البيانات من/إلى Azure Data Lake Storage Gen2 باستخدام مفتاح الحساب، أو كيان الخدمة، أو مصادقات الهويات المدارة لموارد Azure.
- نسخ الملفات كما هي، أو توزيعها، أو إنشاء الملفات بتنسيقات الملفات المعتمدة وبرامج ترميز الضغط.
- الاحتفاظ ببيانات تعريف الملف أثناء النسخ.
- الاحتفاظ بقائمة التحكم بالوصول (ACL) عند النسخ من Azure Data Lake Storage Gen1/Gen2.
الشروع في العمل
تلميح
للحصول على المزيد من المعلومات حول كيفية استخدام موصل Data Lake Storage Gen2، راجع تحميل البيانات إلى Azure Data Lake Storage Gen2.
لتنفيذ نشاط النسخ باستخدام أحد المسارات، يمكنك استخدام إحدى الأدوات أو عدد تطوير البرامج التالية:
- أداة نسخ البيانات
- مدخل Azure
- The .NET SDK
- عدة تطوير برامج Python
- Azure PowerShell
- واجهة برمجة تطبيقات REST
- قالب Azure Resource Manager
إنشاء خدمة Azure Data Lake Storage Gen2 المرتبطة باستخدام واجهة المستخدم
اتبع الخطوات التالية لإنشاء خدمة Azure Data Lake Storage Gen2 المرتبطة في واجهة مستخدم مدخل Azure.
استعرض للوصول إلى علامة التبويب "Manage" في مصنع بيانات Azure أو مساحة عمل Synapse، وحدد "Linked Services"، ثم انقر فوق "New":
ابحث عن Data Lake، ثم حدد موصل Azure Data Lake Storage Gen2.
قم بتكوين تفاصيل الخدمة، واختبر الاتصال، وأنشئ الخدمة المرتبطة الجديدة.
تفاصيل تكوين الموصل
توفر المقاطع التالية معلومات حول الخصائص المستخدمة لتحديد كيانات خط أنابيب Synapse وData Factory المخصصة لـ Data Lake Storage Gen2.
خصائص الخدمة المرتبطة
يدعم موصل Azure Data Lake Storage Gen2 أنواع المصادقة التالية. راجع المقاطع المقابلة للحصول على التفاصيل:
- مصادقة مفتاح الحساب
- مصادقة توقيع الوصول المشترك
- المصادقة الرئيسية للخدمة
- مصادقة الهوية المدارة المعينة من قبل النظام
- مصادقة الهوية المدارة المعينة من قبل المستخدم
إشعار
- إذا كنت ترغب في استخدام وقت تشغيل التكامل العام لـ Azure، للاتصال بـ Azure Data Lake Storage Gen2 من خلال الاستفادة من خيار السماح لخدمات Microsoft الموثوقة بالوصول إلى حساب التخزين هذا، والمُمكّن على جدار حماية مساحة تخزين Azure، فيجب أن تستخدم مصادقة الهوية المُدارة. لمزيد من المعلومات حول إعدادات جدران حماية Azure Storage، راجع تكوين جدران حماية Azure Storage والشبكات الظاهرية.
- عندما تستخدم عبارة PolyBase أو COPY، لتحميل البيانات إلى Azure Synapse Analytics، إذا تم تكوين المصدر أو التقسيم المرحلي لـ Azure Data Lake Storage Gen2 من خلال نقطة نهاية شبكة Azure الظاهرية، فيجب أن تستخدم مصادقة الهوية المُدارة، على النحو المطلوب من قبل Azure Synapse. راجع قسم مصادقة الهوية المدارة مع المزيد من متطلبات التكوين.
مصادقة مفتاح الحساب
لاستخدام مصادقة مفتاح حساب التخزين، يتم اعتماد الخصائص التالية:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين نوع الخاصية إلى AzureBlobFS. | نعم |
عنوان URL | نقطة نهاية Azure Data Lake Storage Gen2، بالنمط https://<accountname>.dfs.core.windows.net . |
نعم |
accountKey | مفتاح حساب Data Lake Storage Gen2. ضع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو قم بالإشارة إلى بيانات سرية مخزنة في Azure Key Vault. | نعم |
connectVia | يُستخدم وقت تشغيل التكامل للاتصال بمخزن البيانات. يمكنك استخدام وقت تشغيل تكامل Azure أو وقت تشغيل تكامل مستضاف ذاتياً إذا كان مخزن البيانات الخاص بك في شبكة خاصة. إذا لم يتم تحديد هذه الخاصية، يتم استخدام Azure Integration Runtime الافتراضي. | لا |
إشعار
إن نقطة نهاية نظام ملفات ADLS الثانوية غير معتمدة، عند استخدام مصادقة مفتاح الحساب. يمكنك استخدام أنواع مصادقات أخرى.
مثال:
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
"accountkey": {
"type": "SecureString",
"value": "<accountkey>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
مصادقة توقيع الوصول المشترك
ويوفر توقيع الوصول المشترك وصولاً مفوضًا إلى الموارد في حساب التخزين الخاص بك. يمكنك استخدام توقيع وصول المشترك لمنح عميل أذونات محدودة للعناصر الموجودة في حساب التخزين الخاص بك لفترة محددة.
لا يتعين عليك مشاركة مفاتيح الوصول إلى حسابك. توقيع الوصول المشترك هو عنوان URI الذي يشمل في معلمات الاستعلام الخاصة به جميع المعلومات الضرورية للوصول المصادق عليه إلى مورد تخزين. للوصول إلى موارد التخزين مع توقيع الوصول المشترك، يحتاج العميل فقط لتمرير توقيع الوصول المشترك إلى المنشئ أو الأسلوب المناسبين.
للمزيد من المعلومات حول توقيعات الوصول المشتركة، راجع توقيعات الوصول المشتركة: فهم نموذج توقيع الوصول المشترك.
إشعار
- تدعم الخدمة الآن توقيعات الوصول المشترك للخدمة وتوقيعات الوصول المشترك للحساب. لمزيد من المعلومات حول توقيعات الوصول المشتركة، راجع منح وصول محدود إلى موارد Azure Storage باستخدام توقيعات الوصول المشترك.
- في تكوينات مجموعة البيانات الأحدث، يكون مسار المجلد هو المسار المطلق الذي يبدأ من مستوى الحاوية. تحتاج إلى تكوين محاذاة واحدة مع المسار في URI توقيع الوصول المشترك (SAS) الخاص بك.
يتم اعتماد الخصائص التالية لاستخدام مصادقة توقيع الوصول المشترك:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين الخاصية type إلى AzureBlobFS (مقترح) |
نعم |
sasUri | حدد توقيع الوصول المشترك URI إلى موارد التخزين مثل النقطة أو الحاوية. قم بوضع علامة SecureString على هذا الحقل لتخزينه بشكل آمن. يمكنك أيضاً وضع رمز SAS المميز في Azure Key Vault لاستخدام التدوير التلقائي وإزالة جزء الرمز المميز. لمزيد من المعلومات، راجع العينات التالية وبيانات اعتماد المتجر في Azure Key Vault. |
نعم |
connectVia | يُستخدم وقت تشغيل التكامل للاتصال بمخزن البيانات. يمكنك استخدام وقت تشغيل تكامل Azure أو وقت تشغيل التكامل المستضاف ذاتياً (إذا كان مخزن البيانات الخاص بك في شبكة خاصة). إذا لم يتم تحديد هذه الخاصية، فإن الخدمة تستخدم وقت تشغيل تكامل Azure الافتراضي. | لا |
إشعار
إذا كنت تستخدم AzureStorage
خدمة النوع المرتبط، فهي لا تزال مدعومة كما هي. ولكننا نقترح استخدام نوع الخدمة المرتبط الجديد AzureDataLakeStorageGen2
في المستقبل.
مثال:
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the Azure Storage resource e.g. https://<accountname>.blob.core.windows.net/?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
مثال: تخزين مفتاح الحساب في Azure Key Vault
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the Azure Storage resource without token e.g. https://<accountname>.blob.core.windows.net/>"
},
"sasToken": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName with value of SAS token e.g. ?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
عند إنشاء URI لتوقيع الوصول المشترك، خذ بعين الاعتبار النقاط التالية:
- تعيين أذونات القراءة/الكتابة المناسبة على الكائنات استناداً إلى كيفية استخدام الخدمة المرتبطة (القراءة والكتابة والقراءة/الكتابة).
- عين وقت انتهاء الصلاحية بشكل مناسب. تأكد من أن الوصول إلى كائنات Storage لم تنته صلاحيته خلال الفترة النشطة للمسار.
- يجب إنشاء URI في الحاوية أو النقطة المناسبة بناءً على الحاجة. يسمح URI توقيع الوصول المشترك إلى النقطة لمصنع البيانات أو خط Synapse بالوصول إلى النقطة المعينة. يسمح URI توقيع الوصول المشترك إلى حاوية تخزين Blob لمصنع البيانات أو خط Synapse بالتكرير عبر النقط في تلك الحاوية. لتوفير الوصول إلى كائنات أكثر أو أقل لاحقاً، أو لتحديث URI توقيع الوصول المشترك، تذكر تحديث الخدمة المرتبطة بـ URI الجديد.
المصادقة الأساسية للخدمة
لاستخدام مصادقة كيان الخدمة، اتبع هذه الخطوات.
تسجيل تطبيق باستخدام النظام الأساسي للهويات في Microsoft. لمعرفة كيفية إجراء ذلك، راجع التشغيل السريع: تسجيل تطبيق باستخدام النظام الأساسي للهويات في Microsoft. دون هذه القيم التي تستخدمها لتعريف الخدمة المرتبطة:
- مُعرّف التطبيق
- مفتاح التطبيق
- معرف المستأجر
امنح الإذن الصحيح الأساسي للخدمة. راجع الأمثلة المتعلقة بكيفية عمل الإذن في Data Lake Storage Gen2 من قائمة التحكم بالوصول على الملفات والدلائل
- كمصدر: في مستكشف التخزين، امنح على الأقل إذن التنفيذ لجميع مجلدات المصدر، ونظام الملفات، تزامناً مع إذن قراءة الملفات المقرر نسخها. وبدلاً من ذلك، في التحكم بالوصول (IAM)، امنح دور قارئ بيانات الكائن الثنائي كبير الحجم للتخزين.
- كمتلقٍ: في مستكشف التخزين، امنح على الأقل إذن التنفيذ لجميع مجلدات المصدر، ونظام الملفات، تزامناً مع إذن كتابة لمجلد المتلقي. وبدلاً من ذلك، في التحكم بالوصول (IAM)، امنح دور مساهم بيانات الكائن الثنائي كبير الحجم للتخزين.
إشعار
إذا كنت تستخدم واجهة المستخدم للتأليف ولم يكن كيان الخدمة معيناً على دور "قارئ/مساهم بيانات الكائن الثنائي كبير الحجم للتخزين" في IAM -عند إجراء اختبار الاتصال أو الاستعراض/التنقل بين المجلدات- اختر "اختبار الاتصال بمسار الملف" أو "الاستعراض من المسار المحدد"، وحدد مساراً مستخدماً إذن القراءة + التنفيذ للاستمرار.
هذه الخصائص معتمدة للخدمة المرتبطة:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين نوع الخاصية إلى AzureBlobFS. | نعم |
عنوان URL | نقطة نهاية Azure Data Lake Storage Gen2، بالنمط https://<accountname>.dfs.core.windows.net . |
نعم |
servicePrincipalId | حدد معرّف عميل التطبيق. | نعم |
servicePrincipalCredentialType | نوع بيانات الاعتماد المراد استخدامه للمصادقة الأساسية للخدمة. القيم المسموح بها هي ServicePrincipalKey وServicePrincipalCert. | نعم |
servicePrincipalCredential | بيانات اعتماد كيان الخدمة. عند استخدام ServicePrincipalKey كنوع بيانات الاعتماد، حدد مفتاح التطبيق. ضع علامة على هذا الحقل كـ SecureString لتخزينها بأمان، أو راجع السر المُخزن في Azure Key Vault. عند استخدام ServicePrincipalCert كبيانات اعتماد، قم بالإشارة إلى شهادة في Azure Key Vault، وتأكد من أن نوع محتوى الشهادة هو PKCS #12. |
نعم |
servicePrincipalKey | حدِّد مفتاح التطبيق. ضع علامة على هذا الحقل كـ SecureString لتخزينها بأمان، أو راجع السر المُخزن في Azure Key Vault. ما زالت هذه الخاصية معتمدة كما هي لـ servicePrincipalId + servicePrincipalKey . يضيف ملف تعريف التطبيق (ADF) أيضا مصادقة شهادة كيان الخدمة جديدة، والنموذج الجديد لمصادقة كيان الخدمة هو servicePrincipalId + servicePrincipalCredentialType + servicePrincipalCredential . |
لا |
tenant | حدد معلومات المستأجر (اسم المجال أو معرف المستأجر) التي يوجد داخلها التطبيق. يمكنك استرداده من خلال تمرير الماوس على الزاوية العلوية اليمنى من مدخل Microsoft Azure. | نعم |
azureCloudType | للمصادقة الأساسية للخدمة، حدد نوع بيئة سحابة Azure التي تم تسجيل تطبيق Microsoft Entra إليها. القيم المسموح بها هي AzurePublic، وAzureChina، وAzureUsGovernment، وAzureGermany. وبشكل افتراضي، يتم استخدام مصنع البيانات أو بيئة سحابة خط Synapse. |
لا |
connectVia | يُستخدم وقت تشغيل التكامل للاتصال بمخزن البيانات. يمكنك استخدام وقت تشغيل تكامل Azure أو وقت تشغيل تكامل مستضاف ذاتياً إذا كان مخزن البيانات الخاص بك في شبكة خاصة. في حالة عدم التحديد، يُستخدم وقت تشغيل تكامل Azure الافتراضي. | لا |
مثال: استخدام مصادقة مفتاح كيان الخدمة
يمكنك أيضاً تخزين مفتاح الخدمة الأساسي في Azure Key Vault.
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
"servicePrincipalId": "<service principal id>",
"servicePrincipalCredentialType": "ServicePrincipalKey",
"servicePrincipalCredential": {
"type": "SecureString",
"value": "<service principal key>"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
مثال: استخدام مصادقة شهادة كيان الخدمة
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
"servicePrincipalId": "<service principal id>",
"servicePrincipalCredentialType": "ServicePrincipalCert",
"servicePrincipalCredential": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<AKV reference>",
"type": "LinkedServiceReference"
},
"secretName": "<certificate name in AKV>"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
مصادقة الهوية المدارة المعينة من قبل النظام
يمكن أن ترتبط مساحة عمل Synapse أو data factory بالهوية المُدارة التي يُعيّنها النظام. يمكنك استخدام هذه الهوية المُدارة التي يُعيّنها النظام مباشرةً لمصادقة Data Lake Storage Gen2، على غرار استخدام كيان الخدمة الخاص بك. هذا يتيح للمستودع أو مساحة العمل المحددة الوصول إلى البيانات ونسخها من Data Lake Storage Gen2 أو إليه.
لاستخدام مصادقة الهوية المدارة المعينة من قبل النظام، اتبع الخطوات التالية.
قم باسترداد معلومات الهوية المُدارة التي يُعيّنها النظام من خلال نسخ قيمة معرّف كائن الهوية المدارة الذي تم إنشاؤها مع مساحة عمل Synapse أو data factory.
منح إذن صحيح للهوية المُدارة التي يُعيّنها النظام. راجع الأمثلة المتعلقة بكيفية عمل الإذن في Data Lake Storage Gen2 من قائمة التحكم بالوصول على الملفات والدلائل.
- كمصدر: في مستكشف التخزين، امنح على الأقل إذن التنفيذ لجميع مجلدات المصدر، ونظام الملفات، تزامناً مع إذن قراءة الملفات المقرر نسخها. وبدلاً من ذلك، في التحكم بالوصول (IAM)، امنح دور قارئ بيانات الكائن الثنائي كبير الحجم للتخزين.
- كمتلقٍ: في مستكشف التخزين، امنح على الأقل إذن التنفيذ لجميع مجلدات المصدر، ونظام الملفات، تزامناً مع إذن كتابة لمجلد المتلقي. وبدلاً من ذلك، في التحكم بالوصول (IAM)، امنح دور مساهم بيانات الكائن الثنائي كبير الحجم للتخزين.
هذه الخصائص معتمدة للخدمة المرتبطة:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين نوع الخاصية إلى AzureBlobFS. | نعم |
عنوان URL | نقطة نهاية Azure Data Lake Storage Gen2، بالنمط https://<accountname>.dfs.core.windows.net . |
نعم |
connectVia | يُستخدم وقت تشغيل التكامل للاتصال بمخزن البيانات. يمكنك استخدام وقت تشغيل تكامل Azure أو وقت تشغيل تكامل مستضاف ذاتياً إذا كان مخزن البيانات الخاص بك في شبكة خاصة. في حالة عدم التحديد، يُستخدم وقت تشغيل تكامل Azure الافتراضي. | لا |
مثال:
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
مصادقة الهوية المدارة المعينة من قبل المستخدم
يمكن تعيين مصنع بيانات باستخدام مصادقة هوية مدارة معينة من قبل المستخدم، واحدة أو متعددة. يمكنك استخدام هذه الهوية المُدارة التي يعيّنها المستخدم لمصادقة تخزين الكائن الثنائي كبير الحجم، ما يتيح لك الوصول إلى البيانات ونسخها من Data Lake Storage Gen2 وإليه. لمعرفة المزيد حول الهويات المدارة لموارد Azure، راجع الهويات المدارة لموارد Azure
لاستخدام مصادقة الهوية المدارة المعينة من قبل المستخدم اتبع الخطوات التالية:
أنشئ هوية واحدة أو العديد من الهويات المُدارة التي يُعيّنها المستخدم، وامنح الإذن للوصول إلى Azure Data Lake Storage Gen2. راجع الأمثلة المتعلقة بكيفية عمل الإذن في Data Lake Storage Gen2 من قائمة التحكم بالوصول على الملفات والدلائل.
- كمصدر: في مستكشف التخزين، امنح على الأقل إذن التنفيذ لجميع مجلدات المصدر، ونظام الملفات، تزامناً مع إذن قراءة الملفات المقرر نسخها. وبدلاً من ذلك، في التحكم بالوصول (IAM)، امنح دور قارئ بيانات الكائن الثنائي كبير الحجم للتخزين.
- كمتلقٍ: في مستكشف التخزين، امنح على الأقل إذن التنفيذ لجميع مجلدات المصدر، ونظام الملفات، تزامناً مع إذن كتابة لمجلد المتلقي. وبدلاً من ذلك، في التحكم بالوصول (IAM)، امنح دور مساهم بيانات الكائن الثنائي كبير الحجم للتخزين.
تعيين هوية مدارة معينة من قبل المستخدم، واحدة أو متعددة، إلى مصنع البيانات وإنشاء بيانات اعتماد لكل هوية مدارة معينة من قبل المستخدم.
هذه الخصائص معتمدة للخدمة المرتبطة:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين نوع الخاصية إلى AzureBlobFS. | نعم |
عنوان URL | نقطة نهاية Azure Data Lake Storage Gen2، بالنمط https://<accountname>.dfs.core.windows.net . |
نعم |
بيانات الاعتماد | حدد الهوية المدارة المعينة من قبل المستخدم ككائن بيانات الاعتماد. | نعم |
connectVia | يُستخدم وقت تشغيل التكامل للاتصال بمخزن البيانات. يمكنك استخدام وقت تشغيل تكامل Azure أو وقت تشغيل تكامل مستضاف ذاتياً إذا كان مخزن البيانات الخاص بك في شبكة خاصة. في حالة عدم التحديد، يُستخدم وقت تشغيل تكامل Azure الافتراضي. | لا |
مثال:
{
"name": "AzureDataLakeStorageGen2LinkedService",
"properties": {
"type": "AzureBlobFS",
"typeProperties": {
"url": "https://<accountname>.dfs.core.windows.net",
"credential": {
"referenceName": "credential1",
"type": "CredentialReference"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
إشعار
إذا كنت تستخدم واجهة مستخدم Data Factory للتأليف ولم تكن الهوية المُدارة معينة على دور "قارئ/مساهم بيانات الكائن الثنائي كبير الحجم للتخزين" في IAM -عند إجراء اختبار الاتصال أو الاستعراض/التنقل بين المجلدات- اختر "اختبار الاتصال بمسار الملف" أو "الاستعراض من المسار المحدد"، وحدد مساراً مستخدماً إذن القراءة + التنفيذ للاستمرار.
هام
إذا كنت تستخدم عبارة PolyBase أو COPY لتحميل البيانات من Data Lake Storage Gen2 إلى Azure Synapse Analytics -عندما تستخدم مصادقة الهوية المُدارة لـ Data Lake Storage Gen2- فتأكد أيضاً من اتباع الخطوات من 1 إلى 3 من هذا الدليل. ستقوم هذه الخطوات بتسجيل الخادم الخاص بك مع معرف Microsoft Entra وتعيين دور Storage Blob Data Contributor إلى الخادم الخاص بك. ويقوم مصنع البيانات بمعالجة الباقي. إذا قمت بتكوين تخزين الكائن الثنائي كبير الحجم مستخدماً نقطة نهاية شبكة Azure الظاهرية، وتحتاج أيضاً إلى تشغيل السماح لخدمات Microsoft بالوصول إلى حساب التخزين هذا ضمن قائمة إعدادات جدران حماية حساب تخزين Azure والشبكات الافتراضية، على النحو المطلوب من قبل Azure Synapse.
خصائص مجموعة البيانات
للاطلاع على قائمة كاملة للأقسام والخصائص المتوفرة لتحديد مجموعات البيانات، راجع مجموعات البيانات.
يدعم Azure Data Factory تنسيقات الملفات التالية. راجع كل مقالة للاطلاع على الإعدادات المستندة إلى التنسيق.
- تنسيق Avro
- تنسيق ثنائي
- تنسيق نص محدد
- تنسيق Excel
- تنسيق جبل الجليد
- تنسيق JSON
- تنسيق ORC
- تنسيق باركيه
- تنسيق XML
يتم اعتماد الخصائص التالية لـ Data Lake Storage Gen2 ضمن إعدادات location
في مجموعة البيانات المستندة إلى التنسيق:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين نوع الخاصية ضمن location في مجموعة البيانات على AzureBlobFSLocation. |
نعم |
fileSystem | اسم نظام الملفات Data Lake Storage Gen2. | لا |
folderPath | المسار إلى المجلد ضمن نظام الملفات المحدد. إذا كنت تريد استخدام حرف بدل لتصفية المجلدات، فتخطَّ هذا الإعداد، وحدده في إعدادات مصدر النشاط. | لا |
fileName | اسم الملف ضمن fileSystem + folderPath المحدد. إذا كنت تريد استخدام حرف بدل لتصفية الملفات، فتخطَّ هذا الإعداد، وحدده في إعدادات مصدر النشاط. | لا |
مثال:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Data Lake Storage Gen2 linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "AzureBlobFSLocation",
"fileSystem": "filesystemname",
"folderPath": "folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
انسخ خصائص النشاط
للاطلاع على قائمة كاملة بالأقسام والخصائص المتوفرة لتحديد الأنشطة، راجع نسخ تكوينات النشاط وخطوط الأنابيب والأنشطة. يتناول هذا القسم قائمة بالخصائص المعتمدة من قبل متلقي ومصدر Data Lake Storage Gen2.
Azure Data Lake Storage Gen2 كنوع المصدر
يدعم Azure Data Factory تنسيقات الملفات التالية. راجع كل مقالة للاطلاع على الإعدادات المستندة إلى التنسيق.
لديك العديد من الخيارات لنسخ البيانات من ADLS Gen2:
- نسخ الملفات من المسار الموجود المحدد في مجموعة البيانات.
- تصفية حرف البدل مقابل مسار المجلد أو اسم الملف، راجع
wildcardFolderPath
وwildcardFileName
. - نسخ الملفات المحددة في ملف نصي محدد كمجموعة ملفات، راجع
fileListPath
.
يتم اعتماد الخصائص التالية لـ Data Lake Storage Gen2 ضمن إعدادات storeSettings
في مصدر النسخ المستند إلى التنسيق:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين نوع الخاصية ضمن storeSettings إلى AzureBlobFSReadSettings. |
نعم |
حدد موقع الملفات المراد نسخها: | ||
الخيار 1: مسار ثابت |
انسخ من نظام الملفات المحدد أو مسار الملف/المجلد المحدد في مجموعة البيانات. إذا كنت تريد نسخ جميع الملفات من نظام الملفات/مجلد، فحدد wildcardFileName أيضاً كـ * . |
|
الخيار 2: حرف بدل - wildcardFolderPath |
مسار المجلد مع حروف البدل ضمن نظام الملفات المكوّن في مجموعة البيانات لتصفية مجلدات المصدر. حروف البدل المسموح بها هي: * (يطابق صفراً أو المزيد من الأحرف)، و? (يطابق صفراً أو حرفاً واحداً)؛ يمكنك استخدام ^ للإلغاء إذا كان اسم المجلد الفعلي يتضمن حرف بدل أو حرف إلغاء بداخله. راجع المزيد من الأمثلة في أمثلة على تصفية الملفات والمجلدات. |
لا |
الخيار 2: حرف بدل - wildcardFileName |
اسم الملف مع حروف البدل ضمن نظام الملفات + folderPath/wildcardFolderPath المحدد لتصفية الملفات المصدر. حروف البدل المسموح بها هي: * (يطابق صفراً أو المزيد من الأحرف)، و? (يطابق صفراً أو حرفاً واحداً)؛ يمكنك استخدام ^ للإلغاء إذا كان اسم الملف الفعلي يتضمن حرف بدل أو حرف إلغاء بداخله. راجع المزيد من الأمثلة في أمثلة على تصفية الملفات والمجلدات. |
نعم |
الخيار 3: قائمة الملفات - fileListPath |
يشير إلى نسخ مجموعة ملفات معينة. أشر إلى ملف نصي يتضمن قائمة بالملفات التي تريد نسخها، ملف واحد لكل سطر، وهو المسار النسبي للمسار الذي تم تكوينه في مجموعة البيانات. عند استخدام هذا الخيار، لا تحدد اسم الملف في مجموعة البيانات. شاهد المزيد من الأمثلة في أمثلة قائمة الملفات. |
لا |
إعدادات إضافية: | ||
التكرار | يشير إلى ما إذا كانت البيانات ستتم قراءتها بشكل متكرر من المجلدات الفرعية أو من المجلد المحدد فقط. تجدر الإشارة إلى أنه عند ضبط recursive على true ويكون المتلقي مخزناً يستند إلى ملف، لا يتم نسخ أو إنشاء مجلد فارغ أو مجلد فرعي عند المتلقي. القيم المسموح بها هي true (افتراضية) وfalse. لا تنطبق هذه الخاصية عند تكوين fileListPath . |
لا |
deleteFilesAfterCompletion | يشير إلى ما إذا كان سيتم حذف الملفات الثنائية من مخزن المصدر بعد الانتقال بنجاح إلى مخزن الوجهة. يتم حذف الملف لكل ملف، لذلك عند فشل نشاط النسخ، سترى أن بعض الملفات قد تم نسخها بالفعل إلى الوجهة وحذفها من المصدر، بينما لا يزال البعض الآخر في المخزن المصدر. هذه الخاصية صالحة فقط في سيناريو نسخ الملفات الثنائية. القيمة الافتراضية: false. |
لا |
تاريخ البدء المعدل | تصفية الملفات استنادا إلى السمة: "Last Modified". سوف يتم تحديد الملفات إذا كان وقت آخر تعديل لها أكبر من أو يساوي modifiedDatetimeStart وأقل من modifiedDatetimeEnd . ويتم تطبيق الوقت على المنطقة الزمنية UTC بتنسيق «2018-12-01T05:00:00Z». يمكن أن تكون الخصائص NULL، ما يعني أنه لن يتم تطبيق عامل تصفية سمة الملف على مجموعة البيانات. عندما يكون modifiedDatetimeStart له قيمة للتاريخ والوقت، ولكن modifiedDatetimeEnd قيمته "NULL،" فهذا يعني أن الملفات ذات قيمة التعديل الأخير للسمة الخاصة بها أكبر من قيمة التاريخ والوقت أو تساويها، هي التي سيتم تحديدها. وعندما يكون modifiedDatetimeEnd له قيمة محددة للوقت والتاريخ، ولكن modifiedDatetimeStart له «قيمة خالية»، فإن هذا يعني أن الملفات، التي قيمة سمة تاريخ آخر تعديل لها أقل من قيمة التاريخ والوقت، هي التي سيتم تحديدها.لا تنطبق هذه الخاصية عند تكوين fileListPath . |
لا |
modifiedDatetimeEnd | مثل أعلاه. | لا |
enablePartitionDiscovery | بالنسبة للملفات المقسمة، حدد ما إذا كنت تريد تحليل الأقسام من مسار الملف وإضافتها كأعمدة مصدر إضافية. القيم المسموح بها هي false (افتراضية) وtrue. |
لا |
partitionRootPath | عند تمكين اكتشاف القسم، حدد مسار الجذر المطلق لقراءة المجلدات المقسمة كأعمدة بيانات. إذا لم يتم تحديده، بشكل افتراضي، - عند استخدام مسار الملف في مجموعة البيانات أو قائمة الملفات على المصدر، يكون مسار جذر القسم هو المسار الذي تم تكوينه في مجموعة البيانات. - عند استخدام عامل تصفية مجلد أحرف البدل، يكون مسار جذر القسم هو المسار الفرعي قبل أول حرف بدل. على سبيل المثال، بافتراض أنك قمت بتكوين المسار في مجموعة البيانات كـ "root/folder/year=2020/month=08/day=27": - إذا حددت المسار الجذري للقسم كـ "root/folder/year=2020"، فإن نشاط النسخ سينتج عمودين آخرين month وday وقيمة "08" و"27" على التوالي، بالإضافة إلى الأعمدة داخل الملفات.- إذا لم يتم تحديد مسار جذر القسم، فلن يتم إنشاء أي عمود إضافي. |
لا |
maxConcurrentConnections | الحد الأعلى للاتصالات المتزامنة التي تم إنشاؤها إلى مخزن البيانات أثناء تشغيل النشاط. حدد قيمة فقط عندما تريد تحديد الاتصالات المتزامنة. | لا |
مثال:
"activities":[
{
"name": "CopyFromADLSGen2",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"formatSettings":{
"type": "DelimitedTextReadSettings",
"skipLineCount": 10
},
"storeSettings":{
"type": "AzureBlobFSReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Azure Data Lake Storage Gen2 كنوع المتلقي
يدعم Azure Data Factory تنسيقات الملفات التالية. راجع كل مقالة للاطلاع على الإعدادات المستندة إلى التنسيق.
يتم اعتماد الخصائص التالية لـ Data Lake Storage Gen2 ضمن إعدادات storeSettings
في متلقي النسخ المستند إلى التنسيق:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب أن تكون خاصية النوع ضمن storeSettings مُعينة إلى AzureBlobFSWriteSettings. |
نعم |
copyBehavior | تعريف سلوك النسخ عندما يكون المصدر ملفات من مخزن بيانات مستند إلى ملف. القيم المسموح بها هي: - PreserveHierarchy (افتراضي): يحافظ على التسلسل الهرمي للملف في المجلد الهدف. يكون المسار النسبي للملف المصدر إلى المجلد المصدر مطابقاً للمسار النسبي للملف الهدف إلى المجلد الهدف. - FlattenHierarchy: جميع الملفات من المجلد المصدر في المستوى الأول من المجلد الهدف. لملفات الهدف أسماء تم إنشائها تلقائياً. - MergeFiles: دمج جميع الملفات من المجلد المصدر إلى ملف واحد. إذا تم تحديد اسم الملف، فسيكون اسم الملف المدمج هو الاسم المحدد. وإلا، فسيتم إنشاء اسم الملف تلقائياً. |
لا |
blockSizeInMB | حدد حجم الكتلة بالميغابايت لكتابة البيانات على ADLS Gen2. تعرف على المزيد حول حظر الكائن الثنائي كبير الحجم. تتراوح القيمة المسموح بها بين 4 ميغابايت و100 ميغابايت. بشكل افتراضي، يحدد ملف تعريف التطبيق (ADF) حجم الكتلة تلقائياً، وفقاً لنوع المخزن المصدر، والبيانات. بالنسبة للنسخة غير الثنائية في ADLS Gen2، فإن حجم الكتلة الافتراضي هو 100 ميجابايت بحيث تتلاءم مع بيانات 4.75 تيرابايت على الأكثر. قد لا يكون الأمر مثالياً عندما لا تكون بياناتك ضخمة، لا سيما عندما تستخدم وقت تشغيل التكامل المستضاف ذاتياً مع شبكة ضعيفة، ما يؤدي إلى انتهاء مهلة العملية أو حدوث مشكلة في الأداء. يمكنك تحديد حجم الكتلة بشكل صريح، بينما تتأكد من أن blockSizeInMB*50000 كبير بما يكفي لتخزين البيانات، فيما عدا ذلك، سيفشل تشغيل نشاط النسخ. |
لا |
maxConcurrentConnections | الحد الأعلى للاتصالات المتزامنة التي تم إنشاؤها إلى مخزن البيانات أثناء تشغيل النشاط. حدد قيمة فقط عندما تريد تحديد الاتصالات المتزامنة. | لا |
بيانات التعريف | تعيين بيانات التعريف المخصصة عند النسخ إلى متلقي. يمثل كل كائن ضمن صفيف metadata عموداً إضافياً. يحدد name اسم مفتاح بيانات التعريف، ويشيرvalue إلى قيمة البيانات الخاصة بهذا المفتاح. إذا تم استخدام ميزة الاحتفاظ بالسمات، فإن بيانات التعريف المحددة ستتحد/تكتب فوق بيانات تعريف الملف المصدر.قيم البيانات المسموح بها هي: - $$LASTMODIFIED : متغير محجوز يشير لتخزين آخر وقت معدل للملفات المصدر. يتم التطبيق على مصدر يستند إلى ملف بتنسيق ثنائي فقط.- التعبير - القيمة الثابتة |
لا |
مثال:
"activities":[
{
"name": "CopyToADLSGen2",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Parquet output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "ParquetSink",
"storeSettings":{
"type": "AzureBlobFSWriteSettings",
"copyBehavior": "PreserveHierarchy",
"metadata": [
{
"name": "testKey1",
"value": "value1"
},
{
"name": "testKey2",
"value": "value2"
},
{
"name": "lastModifiedKey",
"value": "$$LASTMODIFIED"
}
]
}
}
}
}
]
أمثلة على تصفية الملفات والمجلدات
يصف هذا المقطع السلوك الناتج عن مسار المجلد واسم الملف مع عوامل تصفية البدل.
folderPath | fileName | التكرار | بنية المجلد المصدر ونتيجة التصفية (يتم استرداد الملفات بخط عريض) |
---|---|---|---|
Folder* |
(فارغ، استخدم الإعداد الافتراضي) | true | مجلد أ File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
(فارغ، استخدم الإعداد الافتراضي) | صحيح | مجلد أ File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
true | مجلد أ File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
صحيح | مجلد أ File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
أمثلة على قائمة الملفات
يصف هذا القسم السلوك الناتج عن استخدام مسار قائمة الملفات في نسخ مصدر النشاط.
بافتراض أن لديك بنية المجلد المصدر التالية وتريد نسخ الملفات بخط عريض:
نموذج بنية المصدر | Content in FileListToCopy.txt | تكوين ملف تعريف التطبيق (ADF) |
---|---|---|
filesystem مجلد أ File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv بيانات التعريف FileListToCopy.txt |
File1.csv Subfolder1/File3.csv Subfolder1/File5.csv |
في مجموعة البيانات: - نظام الملفات: filesystem - مسار المجلد: FolderA في مصدر نشاط النسخ: - مسار ملف القائمة: filesystem/Metadata/FileListToCopy.txt يشير مسار قائمة الملفات إلى ملف نصي في نفس مخزن البيانات يتضمن قائمة بالملفات التي ترغب في نسخها، ملف واحد لكل سطر، مع المسار النسبي للمسار الذي تم تكوينه في مجموعة البيانات. |
بعض الأمثلة على recursive وcopyBehavior
يصف هذا القسم السلوك الناتج عن عملية النسخ للمجموعات المختلفة للقيمتين recursive وcopyBehavior.
التكرار | copyBehavior | بنية المجلد المصدر | الهدف الناتج |
---|---|---|---|
صحيح | preserveHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
يتم إنشاء Folder1 الهدف ببنية المصدر نفسها: Folder1 File1 File2 Subfolder1 File3 File4 File5 |
صحيح | flattenHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
يتم إنشاء Folder1 الهدف بالبنية التالية: Folder1 الاسم الذي تم إنشائه تلقائياً لملف1 الاسم الذي تم إنشائه تلقائياً للملف2 الاسم الذي تم إنشائه تلقائياً للملف3 الاسم الذي تم إنشائه تلقائياً للملف4 الاسم الذي تم إنشائه تلقائياً للملف5 |
صحيح | mergeFiles | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
يتم إنشاء Folder1 الهدف بالبنية التالية: Folder1 يتم دمج محتويات ملف1+ملف2+ملف3+ملف4+ملف5 في ملف واحد مع اسم ملف يتم إنشائه تلقائياً. |
true | preserveHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
يتم إنشاء Folder1 الهدف بالبنية التالية: Folder1 File1 File2 لم يتم انتقاء Subfolder1 الذي يتضمن File3، وFile4، وFile5. |
true | flattenHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
يتم إنشاء Folder1 الهدف بالبنية التالية: Folder1 الاسم الذي تم إنشائه تلقائياً لملف1 الاسم الذي تم إنشائه تلقائياً للملف2 لم يتم انتقاء Subfolder1 الذي يتضمن File3، وFile4، وFile5. |
true | mergeFiles | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
يتم إنشاء Folder1 الهدف بالبنية التالية: Folder1 يتم دمج محتويات ملف1 + ملف2 في ملف واحد باسم ملفيتم إنشائه تلقائياً. الاسم الذي تم إنشائه تلقائياً لملف1 لم يتم انتقاء Subfolder1 الذي يتضمن File3، وFile4، وFile5. |
الاحتفاظ ببيانات التعريف أثناء عملية النسخ
عند نسخ الملفات من Amazon S3/Azure Blob/Azure Data Lake Storage Gen2 إلى Azure Data Lake Storage Gen2/الكائن الثنائي كبير الحجم الخاص بـ Azure، يمكنك اختيار الاحتفاظ ببيانات تعريف الملف بجانب البيانات. تعرّف على المزيد من الاحتفاظ ببيانات التعريف.
الاحتفاظ ب ACLs من Data Lake Storage Gen1/Gen2
عند نسخ الملفات من Azure Data Lake Storage Gen1/Gen2 إلى Gen2، يمكنك اختيار الاحتفاظ بقوائم التحكم بالوصول (ACLs) إلى POSIX بجانب البيانات. تعرف على المزيد من الاحتفاظ بـ ACLs من Data Lake Storage Gen1/Gen2 إلى Gen2.
تلميح
لنسخ البيانات من Azure Data Lake Storage Gen1 إلى Gen2 بوجه عام، راجع نسخ البيانات من Azure Data Lake Storage Gen1 إلى Gen2 للتعرف على المزيد من المعلومات وأفضل الممارسات.
تعيين خصائص تدفق البيانات
عند تحويل البيانات في تخطيط تدفق البيانات، يمكنك قراءة الملفات وكتابتها من Azure Data Lake Storage Gen2 بالتنسيقات التالية:
توجد إعدادات تنسيق معينة في وثائق هذا التنسيق. لمزيد من المعلومات، راجع تحويل المصدر في تخطيط تدفق البيانات وتحويل المتلقي في تخطيط تدفق البيانات.
تحويل المصدر
في تحويل المصدر، يمكنك القراءة من حاوية، أو مجلد، أو ملف فردي في Azure Data Lake Storage Gen2. تتيح لك علامة التبويب خيارات المصدر التحكم في كيفية قراءة الملفات.
مسار الحرف البدل: باستخدام نمط الحرف البدل، سوف يوجه ADF للتكرار الحلقي خلال كل ملف ومجلد متطابق، في تحويل مصدر واحد. وهذه طريقة فعالة لمعالجة ملفات متعددة داخل تدفق واحد. أضف أنماط مطابقة البدل المتعددة مع علامة + التي تظهر عند التمرير فوق نمط البدل الموجود لديك.
من حاوية المصدر، اختر سلسلة من الملفات التي تطابق نمطاً. يمكن تحديد الحاوية فقط في مجموعة البيانات. ويجب أن يتضمن مسار البدل مسار المجلد من المجلد الجذر.
أمثلة البدل:
*
يمثل أي مجموعة من الأحرف**
يمثل أي تداخل متكرر للدليل?
يستبدل حرفاً واحداً[]
يطابق حرفاً واحداً أو أكثر داخل الأقواس/data/sales/**/*.csv
يحصل على جميع ملفات csv ضمن /data/sales/data/sales/20??/**/
يحصل على جميع الملفات في القرن العشرين/data/sales/*/*/*.csv
يحصل على ملفات csv، مستويين ضمن /data/sales/data/sales/2004/*/12/[XY]1?.csv
يحصل على جميع ملفات csv في عام 2004 في شهر ديسمبر، ويبدأ بـ X أو Y، مع بادئة تتكون من رقمين
Partition Root Path: إذا كان لديك مجلدات مقسمة في مصدر الملف الخاص بك بتنسيق key=value
(على سبيل المثال، السنة=2019)، يمكنك حينئذٍ تعيين المستوى الأعلى لشجرة مجلد القسم هذا إلى اسم عمود في تدفق بيانات تدفق البيانات الخاصة بك.
أولاً، قم بتعيين حرف البدل لتضمين جميع المسارات التي هي مجلدات مُقسمة، بالإضافة إلى الملفات الطرفية التي ترغب في قراءتها.
استخدم إعداد مسار جذر القسم لتحديد المستوى الأعلى من بنية المجلد. عند عرض محتويات البيانات الخاصة بك، عن طريق معاينة البيانات، سوف ترى أن ADF سيضيف الأقسام المحلولة، والتي تم العثور عليها في كل مستوى من مستويات المجلد الخاص بك.
قائمة الملفات: عبارة عن مجموعة ملفات. أنشئ ملف نصي يتضمن قائمة ملفات المسار النسبي لمعالجتها. أشر إلى هذا الملف النصي.
عمود لتخزين اسم الملف: خزّن اسم الملف المصدر في عمود في بياناتك. أدخِل اسم عمود جديد هنا لتخزين سلسلة اسم الملف.
بعد الانتهاء: اختر عدم إجراء أي عملية مع الملف المصدر بعد تشغيل تدفق البيانات أو حذف الملف المصدر أو نقل الملف المصدر. المسارات الخاصة بهذه الخطوة نسبية.
لنقل الملفات المصدر إلى موقع آخر بعد المعالجة، حدد أولاً "Move" لعملية الملف. ثم اضبط الدليل "from". إذا كنت لا تستخدم أي أحرف بدل للمسار، فسيكون الإعداد "from" هو نفس المجلد الذي يستخدمه المجلد المصدر.
إذا كان لديك مسار مصدر مع البدل، فسيبدو بناء الجملة كما يلي:
/data/sales/20??/**/*.csv
يمكنك تحديد «من» هكذا
/data/sales
وتحديد «إلى» هكذا
/backup/priorSales
وفي هذه الحالة، يتم نقل جميع الملفات التي تم الحصول عليها تحت /data/sales إلى /backup/priorSales.
إشعار
لا تستخدم تشغيل عمليات الملف إلا عندما تبدأ تدفق البيانات من تشغيل خط الأنابيب (تتبع أخطاء خط الأنابيب أو تشغيل التنفيذ)، والذي يستخدم نشاط تنفيذ تدفق البيانات في خط الأنابيب. لا يتم تشغيل عمليات الملفات في وضع تتبع أخطاء تدفق البيانات.
التصفية حسب آخر تعديل: يمكنك تصفية الملفات التي تعالجها عن طريق تحديد نطاق تاريخ آخر تعديل لها. جميع الأوقات والتواريخ حسب UTC.
تمكين التقاط بيانات التغيير: إذا كان صحيحا، فستحصل على ملفات جديدة أو متغيرة فقط من آخر تشغيل. سيتم دائماً الحصول على التحميل الأولي لبيانات اللقطة الكاملة في التشغيل الأول، متبوعاً بالتقاط ملفات جديدة أو تم تغييرها فقط في عمليات التشغيل التالية. لمزيد من التفاصيل، راجع تغيير تسجيل البيانات.
خصائص المتلقّي
في تحويل المتلقي، يمكنك الكتابة إما على حاوية أو مجلد في Azure Data Lake Storage Gen2. تتيح لك علامة التبويب الإعدادات إدارة كيفية كتابة الملفات.
مسح المجلد: لتحديد مسح المجلد الوجهة من عدمه، قبل كتابة البيانات.
خيار اسم الملف: تحديد كيفية تسمية ملفات الوجهة في المجلد الوجهة. خيارات اسم الملف هي:
- الافتراضي: السماح لـ Spark بتسمية الملفات استناداً إلى الإعدادات الافتراضية لـ PART.
- نمط: أدخل نمطاً يُعدد ملفات الإخراج لكل قسم. على سبيل المثال، سوف يُنشئ loans[n].csv الملفات loans1.csv، loans2.csv، وهكذا.
- لكل قسم: أدخل اسم ملف واحداً لكل قسم.
- كبيانات في العمود: تعيين ملف الإخراج إلى قيمة عمود. يكون المسار منسوباً إلى حاوية مجموعة البيانات، وليس المجلد الوجهة. إذا كان لديك مسار مجلد في مجموعة البيانات الخاصة بك، سيتم تجاوزه.
- الإخراج إلى ملف واحد: ضم ملفات الإخراج المقسمة إلى ملف مسمى واحد. يكون المسار منسوباً إلى مجلد مجموعة البيانات. الرجاء الانتباه إلى احتمال فشل عملية الدمج بناءً على حجم العقدة. ولا ينصح بتحديد هذا الخيار لمجموعات البيانات.
اقتباس الكل: لتحديد ما إذا كان سيتم إحاطة كل القيم بعلامات اقتباس
umask
يمكنك اختيارياً تعيين umask
للملفات باستخدام قراءة POSIX، أو الكتابة، أو إشارات التنفيذ للمالك، والمستخدم، والمجموعة.
أوامر ما بعد المعالجة والمعالجة المسبقة
يمكنك اختيارياً تنفيذ أوامر Hadoop filesystem قبل الكتابة على متلقي ADLS Gen2 أو بعدها. يتم اعتماد الأوامر التالية:
cp
mv
rm
mkdir
أمثلة:
mkdir /folder1
mkdir -p folder1
mv /folder1/*.* /folder2/
cp /folder1/file1.txt /folder2
rm -r /folder1
المعلمات معتمدة أيضاً من خلال منشئ التعبير، على سبيل المثال:
mkdir -p {$tempPath}/commands/c1/c2
mv {$tempPath}/commands/*.* {$tempPath}/commands/c1/c2
افتراضياً، يتم إنشاء المجلد على أنها user/root. يمكنك الإشارة إلى حاوية المستوى العلوي باستخدام العلامة "/".
بحث عن خصائص النشاط
لمعرفة تفاصيل حول الخصائص، تحقق من نشاط البحث.
خصائص نشاط GetMetadata
لمعرفة تفاصيل حول الخصائص، يرجى التحقق من نشاط GetMetadata
حذف خصائص النشاط
لمعرفة تفاصيل حول الخصائص، يرجى التحقق من نشاط الحذف
النماذج القديمة
إشعار
لا تزال النماذج التالية مدعومة كما هي للتوافق مع الإصدارات السابقة. يقترح عليك استخدام النموذج الجديد المذكور في الأقسام أعلاه للمضي قدماً، وتحولت واجهة مستخدم تأليف ADF إلى إنشاء النموذج الجديد.
نموذج مجموعة البيانات القديم
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية مجموعة البيانات إلى AzureBlobFSFile. | نعم |
folderPath | المسار إلى المجلد في Data Lake Storage Gen2. في حالة عدم التحديد، يشير إلى الجذر. عامل تصفية البدل مدعوم. أحرف البدل المسموح بها هي * (تطابق صفراً أو أكثر من الأحرف) و? (تطابق صفراً أو حرفاً واحداً). استخدم ^ للإلغاء، إذا كان اسم المجلد الفعلي يتضمن حرف بدل، أو إذا كان حرف الإلغاء هذا موجوداً بداخله. مثال: filesystem/folder/. راجع المزيد من الأمثلة في أمثلة على تصفية الملفات والمجلدات. |
لا |
fileName | عامل تصفية حرف البدل أو الاسم للملفات ضمن «folderPath» المحدد. إذا لم تحدد قيمة لهذه الخاصية، فإن مجموعة البيانات تشير إلى جميع الملفات الموجودة في المجلد. للتصفية، أحرف البدل المسموح بها هي * (تطابق صفراً أو أكثر من الأحرف) و? (تطابق صفراً أو حرفاً واحداً).- مثال 1: "fileName": "*.csv" - مثال 2: "fileName": "???20180427.txt" استخدم ^ للإلغاء، إذا كان اسم الملف الفعلي يتضمن حرف بدل، أو إذا كان حرف الإلغاء هذا موجود بداخله.في حالة عدم تحديد fileName لمجموعة بيانات الإخراج، وpreserveHierarchy غير محدد في متلقي النشاط، فإن نشاط النسخ يُنشئ تلقائياً اسم الملف باستخدام النمط التالي: «Data. [المعرّف الفريد لمعرف تشغيل النشاط]. [المعرف الفريد في حالة FlattenHierarchy].[التنسيق في حال تكوينه]. [الضغط المكوّن]» مثال: "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz". إذا نسخت من مصدر جدولي مستخدماً اسم الجدول، بدلاً من الاستعلام، يكون اسم النمط كالآتي "[اسم الجدول].[التنسيق].[الضغط إذا تم تكوينه]"، مثال: "MyTable.csv". |
لا |
تاريخ البدء المعدل | تصفية الملفات وفقاً لآخر تعديل للسمة. يتم تحديد الملفات إذا كان وقت آخر تعديل لها أكبر من أو يساوي modifiedDatetimeStart وأقل من modifiedDatetimeEnd . يتم تطبيق الوقت على المنطقة الزمنية UTC بتنسيق "2018-12-01T05:00:00Z". يتأثر الأداء الكلي لحركة البيانات بتمكين هذا الإعداد، عندما تريد استخدام عامل تصفية الملفات مع كمية كبيرة من الملفات. يمكن أن تكون الخصائص ذات «قيمة فارغة»، ما يعني أنه لا يتم تطبيق عامل تصفية سمات الملف على مجموعة البيانات. وعندما يكون modifiedDatetimeStart له قيمة محددة للوقت والتاريخ، ولكن modifiedDatetimeEnd له «قيمة خالية»، فإن هذا يعني أن الملفات، التي قيمة سمة تاريخ آخر تعديل لها أكبر من قيمة التاريخ والوقت أو تساويها، هي التي سيتم تحديدها. وعندما يكون modifiedDatetimeEnd له قيمة محددة للوقت والتاريخ، ولكن modifiedDatetimeStart له «قيمة خالية»، فإن هذا يعني أن الملفات، التي قيمة سمة تاريخ آخر تعديل لها أقل من قيمة التاريخ والوقت، هي التي سيتم تحديدها. |
لا |
modifiedDatetimeEnd | تصفية الملفات وفقاً لآخر تعديل للسمة. يتم تحديد الملفات إذا كان وقت آخر تعديل لها أكبر من أو يساوي modifiedDatetimeStart وأقل من modifiedDatetimeEnd . يتم تطبيق الوقت على المنطقة الزمنية UTC بتنسيق "2018-12-01T05:00:00Z". يتأثر الأداء الكلي لحركة البيانات بتمكين هذا الإعداد، عندما تريد استخدام عامل تصفية الملفات مع كمية كبيرة من الملفات. يمكن أن تكون الخصائص ذات «قيمة فارغة»، ما يعني أنه لا يتم تطبيق عامل تصفية سمات الملف على مجموعة البيانات. وعندما يكون modifiedDatetimeStart له قيمة محددة للوقت والتاريخ، ولكن modifiedDatetimeEnd له «قيمة خالية»، فإن هذا يعني أن الملفات، التي قيمة سمة تاريخ آخر تعديل لها أكبر من قيمة التاريخ والوقت أو تساويها، هي التي سيتم تحديدها. وعندما يكون modifiedDatetimeEnd له قيمة محددة للوقت والتاريخ، ولكن modifiedDatetimeStart له «قيمة خالية»، فإن هذا يعني أن الملفات، التي قيمة سمة تاريخ آخر تعديل لها أقل من قيمة التاريخ والوقت، هي التي سيتم تحديدها. |
لا |
format | إذا كنت تريد نسخ الملفات كما هو الحال بين المخازن المستندة إلى ملف (نسخة ثنائية)، تخطي مقطع التنسيق في كل من تعريفات مجموعة بيانات الإدخال والإخراج. إذا كنت تريد توزيع الملفات أو إنشاءها بتنسيق معين، فإن أنواع تنسيق الملف التالية معتمدة: TextFormat، وJsonFormat، وAvroFormat، وOrcFormat، وParquetFormat. قم بتعيين خاصية النوع الموجودة ضمن التنسيق إلى إحدى هذه القيم. لمزيد من المعلومات، راجع أقسام تنسيق النص وتنسيق JSON وتنسيق Avro وتنسيق ORC وتنسيق الباركيه. |
لا (فقط لسيناريو النسخ الثنائي) |
ضغط | حدد نوع ضغط البيانات ومستواه. للحصول على مزيدٍ من المعلومات، راجع تنسيقات الملفات المدعومة وبرامج ضغط الوسائط وفكها. الأنواع المعتمدة هي **GZip**, **Deflate**, **BZip2**, and **ZipDeflate** .المستويات المعتمدة هي الأمثل والأسرع. |
لا |
تلميح
لنسخ جميع الملفات المضمنة في مجلد، حدد folderPath فقط.
لنسخ ملف واحد باسم معين، حدد folderPath مع جزء المجلد، وfileName مع اسم الملف.
لنسخ مجموعة فرعية من الملفات ضمن مجلد ما، حدد folderPath مع جزء المجلد، وfileName مع عامل تصفية حرف البدل.
مثال:
{
"name": "ADLSGen2Dataset",
"properties": {
"type": "AzureBlobFSFile",
"linkedServiceName": {
"referenceName": "<Azure Data Lake Storage Gen2 linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"folderPath": "myfilesystem/myfolder",
"fileName": "*",
"modifiedDatetimeStart": "2018-12-01T05:00:00Z",
"modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
نموذج مصدر نشاط النسخ القديم
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية مصدر نشاط النسخ إلى AzureBlobFSSource. | نعم |
التكرار | يشير إلى ما إذا كانت البيانات ستتم قراءتها بشكل متكرر من المجلدات الفرعية أو من المجلد المحدد فقط. عندما يتم تعيين "recursive" إلى "true" والمتلقي هو مخزن يستند إلى ملف، لا يتم نسخ أو إنشاء مجلد فارغ أو مجلد فرعي في المتلقي. القيم المسموح بها هي true (افتراضية) وfalse. |
لا |
maxConcurrentConnections | الحد الأعلى للاتصالات المتزامنة التي تم إنشاؤها إلى مخزن البيانات أثناء تشغيل النشاط. حدد قيمة فقط عندما تريد تحديد الاتصالات المتزامنة. | لا |
مثال:
"activities":[
{
"name": "CopyFromADLSGen2",
"type": "Copy",
"inputs": [
{
"referenceName": "<ADLS Gen2 input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "AzureBlobFSSource",
"recursive": true
},
"sink": {
"type": "<sink type>"
}
}
}
]
نموذج متلقي نشاط النسخ القديم
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية نوع متلقي نشاط النسخ إلى AzureBlobFSSink. | نعم |
copyBehavior | تعريف سلوك النسخ عندما يكون المصدر ملفات من مخزن بيانات مستند إلى ملف. القيم المسموح بها هي: - PreserveHierarchy (افتراضي): يحافظ على التسلسل الهرمي للملف في المجلد الهدف. يكون المسار النسبي للملف المصدر إلى المجلد المصدر مطابقاً للمسار النسبي للملف الهدف إلى المجلد الهدف. - FlattenHierarchy: جميع الملفات من المجلد المصدر في المستوى الأول من المجلد الهدف. لملفات الهدف أسماء تم إنشائها تلقائياً. - MergeFiles: دمج جميع الملفات من المجلد المصدر إلى ملف واحد. إذا تم تحديد اسم الملف، فسيكون اسم الملف المدمج هو الاسم المحدد. وإلا، فسيتم إنشاء اسم الملف تلقائياً. |
لا |
maxConcurrentConnections | الحد الأعلى للاتصالات المتزامنة التي تم إنشاؤها إلى مخزن البيانات أثناء تشغيل النشاط. حدد قيمة فقط عندما تريد تحديد الاتصالات المتزامنة. | لا |
مثال:
"activities":[
{
"name": "CopyToADLSGen2",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<ADLS Gen2 output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "AzureBlobFSSink",
"copyBehavior": "PreserveHierarchy"
}
}
}
]
تغيير التقاط البيانات
يمكن ل Azure Data Factory الحصول على ملفات جديدة أو متغيرة فقط من Azure Data Lake Storage Gen2 عن طريق تمكين تسجيل بيانات التغيير (إصدار أولي) في تعيين تحويل مصدر تدفق البيانات. باستخدام خيار الموصل، بإمكانك قراءة الملفات الجديدة أو المحدثة فقط وتطبيق التحويلات قبل تحميل البيانات المحولة إلى مجموعات بيانات الوجهة التي تختارها.
تأكد من الاحتفاظ بمسار التدفق واسم النشاط دون تغيير، بحيث يمكن دائماً تسجيل نقطة التحقق من التشغيل الأخير للحصول على التغييرات من هناك. في حال تغيير اسم البنية الأساسية لبرنامج ربط العمليات التجارية أو اسم النشاط، فسوف تعيد تعيين نقطة التحقق، وستبدأ من البداية في التشغيل التالي.
عند تتبع الأخطاء الخاصة بالبنية الأساسية لبرنامج ربط العمليات التجارية، يعمل تمكين التقاط بيانات التغيير (إصدار أولي) أيضا. كن على علم بأنه ستتم إعادة تعيين نقطة التحقق عند تحديث المستعرض الخاص بك أثناء تشغيل التصحيح. بعد أن تكون راضياً عن نتيجة تشغيل التصحيح، يمكنك نشر مسار التدفق وتشغيله. سيبدأ دائماً من البداية بغض النظر عن نقطة التحقق السابقة المسجلة بواسطة تشغيل التصحيح.
في قسم المراقبة، دائمًا لديك فرصة لإعادة تشغيل المسار. عندما تفعل ذلك، يتم الحصول على التغييرات دائماً من سجل نقاط التحقق في مسار التدفق المحدد.
المحتوى ذو الصلة
للحصول على قائمة بمخازن البيانات المدعومة كمصادر ومتلقين من خلال نشاط النسخ، انظر مخازن البيانات المدعومة .