استخدم Azure Data Factory لترحيل البيانات من مجموعة Hadoop المحلية إلى تخزين Azure

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

تلميح

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

يوفر Azure Data Factory آلية فعالة وقوية وفعالة من حيث التكلفة لترحيل البيانات على نطاق واسع من HDFS المحلي إلى تخزين Azure Blob أو Azure Data Lake Storage Gen2.

يوفر Data Factory طريقتَين أساسيتَين لترحيل البيانات من HDFS المحلي إلى Azure. يمكنك تحديد النهج بناءً على السيناريو الخاص بك.

  • وضع Data Factory DistCp (مستحسن): في Data Factory، يمكنك استخدام DistCp (نسخة موزعة) لنسخ الملفات كما هي إلى تخزين Azure Blob (بما في ذلك النسخ المرحلي) أو Azure Data Lake Store Gen2. استخدم Data Factory المتكامل مع DistCp للاستفادة من مجموعة قوية موجودة لتحقيق أفضل إنتاجية للنسخ. يمكنك أيضاً الاستفادة من الجدولة المرنة وتجربة المراقبة الموحدة من Data Factory. بناءً على تكوين Data Factory الخاص بك، يقوم نشاط النسخ تلقائياً بإنشاء أمر DistCp، وإرسال البيانات إلى مجموعة Hadoop الخاصة بك، ثم مراقبة حالة النسخ. نوصي بوضع Data Factory DistCp لترحيل البيانات من مجموعة Hadoop المحلية إلى Azure.
  • وضع وقت تشغيل التكامل الأصلي لمصنع البيانات: DistCp ليس خيارا في جميع السيناريوهات. على سبيل المثال، في بيئة شبكات Azure الظاهرية، لا تدعم أداة DistCp التناظر الخاص لـ Azure ExpressRoute مع نقطة نهاية الشبكة الافتراضية لـ Azure Storage. وبالإضافة إلى ذلك، في بعض الحالات، لا ترغب في استخدام مجموعة Hadoop الحالية كمحرك لترحيل البيانات حتى لا تضع أحمالاً ثقيلة على مجموعتك؛ ما قد يؤثر في أداء وظائف ETL الحالية. بدلاً من ذلك، يمكنك استخدام القدرة الأصلية لوقت تشغيل تكامل Data Factory كمحرك ينسخ البيانات من HDFS المحلي إلى Azure.

توفر هذه المقالة المعلومات التالية حول كِلَا الأسلوبَين:

  • الأداء
  • مرونة النسخ
  • أمن الشبكة
  • تصميم حل رفيع المستوى
  • تنفيذ أفضل الممارسات

الأداء

في وضع Data Factory DistCp، يكون معدل النقل هو نفسه كما لو كنت تستخدم أداة DistCp بشكل مستقل. يعمل وضع Data Factory DistCp على زيادة سعة مجموعة Hadoop الحالية لديك. يمكنك استخدام DistCp للنسخ الكبير بين المجموعات أو داخل المجموعة.

يستخدم DistCp MapReduce للتأثير في التوزيع، ومعالجة الأخطاء، والاسترداد، وإعداد التقارير. يقوم بتوسيع قائمة الملفات والأدلة في مدخلات لتعيين المهام. تنسخ كل مهمة قسم ملف محدد في قائمة المصادر. يمكنك استخدام Data Factory المتكامل مع DistCp لإنشاء مسارات للاستفادة الكاملة من النطاق الترددي للشبكة، وتخزين IOPS، وعرض النطاق الترددي لزيادة إنتاجية حركة البيانات لبيئتك.

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

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

لمزيد من المعلومات، راجع دليل أداء نشاط النسخ.

المرونة

في وضع Data Factory DistCp، يمكنك استخدام معلمات سطر أوامر DistCp مختلفة (على سبيل المثال، -iأو تجاهل حالات الفشل أو -update، وكتابة البيانات عندما يختلف حجم الملف المصدر وملف الوجهة) لمستويات مختلفة من المرونة.

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

عند إجراء نسخ ثنائي من HDFS المحلي إلى تخزين Blob ومن HDFS المحلي إلى Data Lake Store Gen2، يقوم مصنع البيانات تلقائياً بتنفيذ نقاط التفتيش إلى حد كبير. إذا فشل تشغيل نشاط النسخ أو انتهت مهلته، في إعادة المحاولة اللاحقة (تأكد من أن عدد مرات إعادة المحاولة > 1)، تستأنف النسخة من آخر نقطة فشل بدلاً من البدء في البداية.

أمن الشبكة

بشكل افتراضي، ينقل Data Factory البيانات من HDFS المحلي إلى تخزين Blob أو Azure Data Lake Storage Gen2 باستخدام اتصال مشفر عبر بروتوكول HTTPS. يوفر HTTPS تشفير البيانات أثناء النقل ويمنع التنصت والهجمات بين الرجال في الوسط.

وبدلاً من ذلك، إذا كنت لا تريد نقل البيانات عبر الإنترنت العامّ، لمزيد من الأمان، يمكنك نقل البيانات عبر رابط تناظري خاص عبر ExpressRoute.

هيكل الحل

تصور هذه الصورة ترحيل البيانات عبر الإنترنت العامّ:

Diagram that shows the solution architecture for migrating data over a public network

  • في هذه البنية، يتم نقل البيانات بأمان باستخدام HTTPS عبر الإنترنت العامّ.
  • نوصي باستخدام وضع Data Factory DistCp في بيئة شبكة عامة. يمكنك الاستفادة من مجموعة قوية موجودة لتحقيق أفضل إنتاجية للنسخ. يمكنك أيضاً الاستفادة من الجدولة المرنة وتجربة المراقبة الموحدة من Data Factory.
  • بالنسبة إلى هذه البنية، يجب عليك تثبيت وقت تشغيل التكامل المستضاف ذاتياً Data Factory على جهاز يعمل بنظام Windows خلف جدار حماية الشركة لإرسال أمر DistCp إلى مجموعة Hadoop الخاصة بك ومراقبة حالة النسخ. نظراً لأن الجهاز ليس المحرك الذي سينقل البيانات (لغرض التحكم فقط)، فإن سعة الجهاز لا تؤثر في معدل نقل البيانات.
  • المعلمات الموجودة من أمر DistCp مدعومة.

هذه الصورة تصور ترحيل البيانات عبر رابط خاص:

Diagram that shows the solution architecture for migrating data over a private network

  • في هذه البنية، يتم ترحيل البيانات عبر ارتباط تناظري خاص عبر Azure ExpressRoute. لا تنتقل البيانات أبداً عبر الإنترنت العامّ.
  • لا تدعم أداة DistCp التناظر الخاص لـ ExpressRoute بنقطة نهاية الشبكة الافتراضية لـ Azure Storage. نوصي باستخدام القدرة الأصلية لمصنع البيانات عبر وقت تشغيل التكامل لترحيل البيانات.
  • بالنسبة إلى هذه البنية، يجب عليك تثبيت وقت تشغيل التكامل المستضاف ذاتياً لـ Data Factory على Windows VM في شبكة Azure الظاهرية. يمكنك رفع مستوى جهاز VM يدوياً أو توسيع نطاقه ليشمل أجهزة افتراضية متعددة للاستفادة الكاملة من شبكتك وتخزينك IOPS أو عرض النطاق الترددي.
  • التكوين الموصى به للبدء به لكل Azure VM (مع تثبيت وقت تشغيل التكامل المستضاف ذاتياً لمصنع البيانات) هو Standard_D32s_v3 مع 32 وحدة معالجة مركزية افتراضية و128 جيجابايت من الذاكرة. يمكنك مراقبة استخدام وحدة المعالجة المركزية والذاكرة للجهاز الظاهري أثناء ترحيل البيانات لمعرفة ما إذا كنت بحاجة إلى توسيع نطاق الجهاز الظاهري للحصول على أداء أفضل أو لتقليص الجهاز الظاهري لتقليل التكلفة.
  • يمكنك أيضاً التوسع من خلال ربط ما يصل إلى أربع عقد VM بوقت تشغيل تكامل واحد مستضاف ذاتياً. تقوم مهمة نسخة واحدة تعمل مقابل وقت تشغيل تكامل مستضاف ذاتياً بتقسيم مجموعة الملفات تلقائياً، وتستفيد من جميع عقد VM لنسخ الملفات بالتوازي. للإتاحة العالية، نوصي بأن تبدأ مع عقدتَي VM لتجنب سيناريو نقطة واحدة من الفشل أثناء ترحيل البيانات.
  • عند استخدام هذه البنية، يتوفر لك ترحيل بيانات اللقطة الأولية وترحيل بيانات دلتا.

تنفيذ أفضل الممارسات

نوصي باتباع أفضل الممارسات هذه عند تنفيذ ترحيل البيانات.

المصادقة وإدارة الاعتماد

  • للمصادقة على HDFS، يمكنك استخدام Windows (Kerberos) أو Anonymous.
  • يتم دعم أنواع المصادقة المتعددة للاتصال بوحدة تخزين Azure Blob. نوصي بشدة باستخدام الهويات المدارة لموارد Azure. استنادا إلى هوية Data Factory المدارة تلقائيا في معرف Microsoft Entra، تسمح لك الهويات المدارة بتكوين البنية الأساسية لبرنامج ربط العمليات التجارية دون توفير بيانات الاعتماد في تعريف الخدمة المرتبطة. بدلا من ذلك، يمكنك المصادقة على تخزين Blob باستخدام كيان خدمة أو توقيع وصول مشترك أو مفتاح حساب تخزين.
  • يتم أيضاً دعم أنواع المصادقة المتعددة للاتصال بـ Data Lake Storage Gen2. نوصي بشدة باستخدام الهويات المدارة لموارد Azure، ولكن يمكنك أيضا استخدام كيان خدمة أو مفتاح حساب تخزين.
  • عندما لا تستخدم الهويات المدارة لموارد Azure، نوصي بشدة بتخزين بيانات الاعتماد في Azure Key Vault لتسهيل إدارة المفاتيح وتدويرها مركزيا دون تعديل الخدمات المرتبطة بمصنع البيانات. هذه أيضا أفضل ممارسة ل CI/CD.

ترحيل بيانات نسخة المطابقة الأولية

في وضع Data Factory DistCp، يمكنك إنشاء نشاط نسخ واحد لإرسال أمر DistCp واستخدام معلمات مختلفة للتحكم في سلوك ترحيل البيانات الأولي.

في وضع وقت تشغيل التكامل الأصلي لمصنع البيانات، نوصي بتقسيم البيانات، خاصةً عند ترحيل أكثر من 10 تيرابايت من البيانات. لتقسيم البيانات، استخدم أسماء المجلدات على HDFS. بعد ذلك، يمكن لكل مهمة نسخ Data Factory نسخ قسم مجلد واحد في كل مرة. يمكنك تشغيل العديد من مهام نسخ مصنع البيانات بشكل متزامن للحصول على إنتاجية أفضل.

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

ترحيل بيانات دلتا

في وضع Data Factory DistCp، يمكنك استخدام معلمة -updateسطر الأوامر DistCp ، وكتابة البيانات عندما يختلف حجم الملف المصدر وملف الوجهة، لترحيل بيانات دلتا.

في وضع التكامل الأصلي لمصنع البيانات، تكون الطريقة الأكثر فاعليةً لتحديد الملفات الجديدة أو المتغيرة من HDFS هي استخدام اصطلاح تسمية مقسم زمنياً. عندما تكون بياناتك في HDFS مقسمة زمنيا بمعلومات شريحة الوقت في اسم الملف أو المجلد (على سبيل المثال، /yyyy/mm/dd/file.csv)، يمكن للبنية الأساسية لبرنامج ربط العمليات التجارية بسهولة تحديد الملفات والمجلدات التي يجب نسخها بشكل متزايد.

بدلا من ذلك، إذا لم تكن بياناتك في HDFS مقسمة زمنيا، فيمكن لمصنع البيانات تحديد الملفات الجديدة أو المتغيرة باستخدام قيمة LastModifiedDate الخاصة بهم. يقوم Data Factory بمسح جميع الملفات من HDFS ونسخ الملفات الجديدة والمحدثة فقط التي لها طابع زمني تم تعديله مؤخراً أكبر من القيمة المحددة.

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

السعر التقديري

ضع في اعتبارك خط الأنابيب التالي لترحيل البيانات من HDFS إلى تخزين Azure Blob:

Diagram that shows the pricing pipeline

لنفترض المعلومات التالية:

  • إجمالي حجم البيانات 1 بيتابايت.
  • تقوم بترحيل البيانات باستخدام وضع وقت تشغيل التكامل الأصلي لمصنع البيانات.
  • 1 PB مقسم إلى 1000 قسم وكل نسخة تنقل قسماً واحداً.
  • يتم تكوين كل نشاط نسخ بوقت تشغيل تكامل مستضاف ذاتياً مرتبط بأربعة أجهزة والذي يحقق معدل نقل يبلغ 500 ميجابايت في الثانية.
  • يتم تعيين تزامن ForEach إلى 4 ومعدل النقل الكلي هو 2 جيجابت في الثانية.
  • إجمالاً، يستغرق إكمال الترحيل 146 ساعة.

إليك السعر المقدر بناءً على افتراضاتنا:

Table that shows pricing calculations

إشعار

هذا مثال تسعير افتراضي. يعتمد التسعير الفعلي على الإنتاجية الفعلية في بيئتك. لا يتم تضمين سعر Azure Windows VM (مع تثبيت وقت تشغيل التكامل المستضاف ذاتياً).

مراجع إضافية