نسخ البيانات من Azure Storage Blobs إلى Azure Data Lake Storage Gen1

يوفر Data Lake Storage Gen1 أداة سطر أوامر، AdlCopy، لنسخ البيانات من المصادر التالية:

  • من الكائنات الثنائية كبيرة الحجم لتخزين Azure إلى Data Lake Storage Gen1. لا يمكنك استخدام AdlCopy لنسخ البيانات من Data Lake Storage Gen1 إلى كائنات تخزين Azure الثنائية كبيرة الحجم.
  • بين حسابين Data Lake Storage Gen1.

يمكنك أيضا استخدام أداة AdlCopy في وضعين مختلفين:

  • مستقل، حيث تستخدم الأداة موارد Data Lake Storage Gen1 لتنفيذ المهمة.
  • استخدام حساب Data Lake Analytics، حيث يتم استخدام الوحدات المعينة لحساب Data Lake Analytics لتنفيذ عملية النسخ. قد ترغب في استخدام هذا الخيار عندما تبحث عن تنفيذ مهام النسخ بطريقة يمكن التنبؤ بها.

المتطلبات الأساسية

قبل أن تبدأ هذه المقالة، يجب أن يكون لديك ما يلي:

بناء جملة أداة AdlCopy

استخدم بناء الجملة التالي للعمل مع أداة AdlCopy

AdlCopy /Source <Blob or Data Lake Storage Gen1 source> /Dest <Data Lake Storage Gen1 destination> /SourceKey <Key for Blob account> /Account <Data Lake Analytics account> /Units <Number of Analytics units> /Pattern

يتم وصف المعلمات في بناء الجملة أدناه:

خيار الوصف
المصدر يحدد موقع البيانات المصدر في كائن تخزين Azure الثنائي كبير الحجم. يمكن أن يكون المصدر حاوية كائن ثنائي كبير الحجم أو كائن ثنائي كبير الحجم أو حساب Data Lake Storage Gen1 آخر.
Dest يحدد وجهة Data Lake Storage Gen1 للنسخ إليها.
مفتاح المصدر يحدد مفتاح الوصول إلى التخزين لمصدر كائن ثنائي كبير الحجم لتخزين Azure. هذا مطلوب فقط إذا كان المصدر عبارة عن حاوية كائن ثنائي كبير الحجم أو كائن ثنائي كبير الحجم.
الحساب اختياري. استخدم هذا إذا كنت تريد استخدام حساب Azure Data Lake Analytics لتشغيل مهمة النسخ. إذا كنت تستخدم الخيار /Account في بناء الجملة ولكنك لم تحدد حساب Data Lake Analytics، فإن AdlCopy يستخدم حسابا افتراضيا لتشغيل المهمة. أيضا، إذا كنت تستخدم هذا الخيار، يجب إضافة المصدر (Azure Storage Blob) والوجهة (Azure Data Lake Storage Gen1) كمصادر بيانات لحساب Data Lake Analytics الخاص بك.
الوحدات يحدد عدد وحدات Data Lake Analytics التي سيتم استخدامها لمهمة النسخ. هذا الخيار إلزامي إذا كنت تستخدم الخيار /Account لتحديد حساب Data Lake Analytics.
النمط يحدد نمط regex الذي يشير إلى الكائنات الثنائية كبيرة الحجم أو الملفات المراد نسخها. يستخدم AdlCopy المطابقة الحساسة لحالة الأحرف. النمط الافتراضي عند عدم تحديد نمط هو نسخ جميع العناصر. تحديد أنماط ملفات متعددة غير مدعوم.

استخدام AdlCopy (كبيانات مستقلة) لنسخ البيانات من كائن ثنائي كبير الحجم لتخزين Azure

  1. «Open » موجه أوامر وانتقل إلى الدليل حيث يتم تثبيت AdlCopy، بشكل نموذجي %HOMEPATH%\Documents\adlcopy.

  2. قم بتشغيل الأمر التالي لنسخ كائن ثنائي كبير الحجم معين من الحاوية المصدر إلى مجلد Data Lake Storage Gen1:

    AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/<blob name> /dest swebhdfs://<dest_adlsg1_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container>
    

    على سبيل المثال:

    AdlCopy /source https://mystorage.blob.core.windows.net/mycluster/HdiSamples/HdiSamples/WebsiteLogSampleData/SampleLog/909f2b.log /dest swebhdfs://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ==
    

    ملاحظة

    يحدد بناء الجملة أعلاه الملف الذي سيتم نسخه إلى مجلد في حساب Data Lake Storage Gen1. تنشئ أداة AdlCopy مجلدا إذا لم يكن اسم المجلد المحدد موجودا.

    ستتم مطالبتك بإدخال بيانات الاعتماد لاشتراك Azure الذي لديك حساب Data Lake Storage Gen1 بموجبه. سترى إخراجا مشابها للآتي:

    Initializing Copy.
    Copy Started.
    100% data copied.
    Finishing Copy.
    Copy Completed. 1 file copied.
    
  3. يمكنك أيضا نسخ جميع الكائنات الثنائية كبيرة الحجم من حاوية واحدة إلى حساب Data Lake Storage Gen1 باستخدام الأمر التالي:

    AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/ /dest swebhdfs://<dest_adlsg1_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container>  
    

    على سبيل المثال:

    AdlCopy /Source https://mystorage.blob.core.windows.net/mycluster/example/data/gutenberg/ /dest adl://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ==
    

اعتبارات الأداء

إذا كنت تقوم بالنسخ من حساب Azure Blob Storage، فقد يتم تقييدك أثناء النسخ على جانب تخزين الكائن الثنائي كبير الحجم. سيؤدي ذلك إلى تدهور أداء مهمة النسخ. لمعرفة المزيد حول حدود Azure Blob Storage، راجع حدود تخزين Azure عند اشتراك Azure وحدود الخدمة.

استخدام AdlCopy (كحساب مستقل) لنسخ البيانات من حساب Data Lake Storage Gen1 آخر

يمكنك أيضا استخدام AdlCopy لنسخ البيانات بين حسابين Data Lake Storage Gen1.

  1. «Open » موجه أوامر وانتقل إلى الدليل حيث يتم تثبيت AdlCopy، بشكل نموذجي %HOMEPATH%\Documents\adlcopy.

  2. قم بتشغيل الأمر التالي لنسخ ملف معين من حساب Data Lake Storage Gen1 إلى آخر.

    AdlCopy /Source adl://<source_adlsg1_account>.azuredatalakestore.net/<path_to_file> /dest adl://<dest_adlsg1_account>.azuredatalakestore.net/<path>/
    

    على سبيل المثال:

    AdlCopy /Source adl://mydatastorage.azuredatalakestore.net/mynewfolder/909f2b.log /dest adl://mynewdatalakestorage.azuredatalakestore.net/mynewfolder/
    

    ملاحظة

    يحدد بناء الجملة أعلاه الملف الذي سيتم نسخه إلى مجلد في حساب Data Lake Storage Gen1 الوجهة. تنشئ أداة AdlCopy مجلدا إذا لم يكن اسم المجلد المحدد موجودا.

    ستتم مطالبتك بإدخال بيانات الاعتماد لاشتراك Azure الذي لديك حساب Data Lake Storage Gen1 بموجبه. سترى إخراجا مشابها للآتي:

    Initializing Copy.
    Copy Started.|
    100% data copied.
    Finishing Copy.
    Copy Completed. 1 file copied.
    
  3. ينسخ الأمر التالي جميع الملفات من مجلد معين في حساب Data Lake Storage Gen1 المصدر إلى مجلد في حساب Data Lake Storage Gen1 الوجهة.

    AdlCopy /Source adl://mydatastorage.azuredatalakestore.net/mynewfolder/ /dest adl://mynewdatalakestorage.azuredatalakestore.net/mynewfolder/
    

اعتبارات الأداء

عند استخدام AdlCopy كأداة مستقلة، يتم تشغيل النسخة على الموارد المشتركة المدارة من Azure. يعتمد الأداء الذي قد تحصل عليه في هذه البيئة على تحميل النظام والموارد المتاحة. يتم استخدام هذا الوضع بشكل أفضل للتحويلات الصغيرة على أساس مخصص. لا يلزم ضبط أي معلمات عند استخدام AdlCopy كأداة مستقلة.

استخدام AdlCopy (مع حساب Data Lake Analytics) لنسخ البيانات

يمكنك أيضا استخدام حساب Data Lake Analytics لتشغيل مهمة AdlCopy لنسخ البيانات من الكائنات الثنائية كبيرة الحجم لتخزين Azure إلى Data Lake Storage Gen1. عادة ما تستخدم هذا الخيار عندما تكون البيانات التي سيتم نقلها في نطاق الجيجابايت والتيرابايت، وتريد معدل نقل أداء أفضل ويمكن التنبؤ به.

لاستخدام حساب Data Lake Analytics الخاص بك مع AdlCopy للنسخ من Azure Storage Blob، يجب إضافة المصدر (Azure Storage Blob) كمصدر بيانات لحساب Data Lake Analytics الخاص بك. للحصول على إرشادات حول إضافة مصادر بيانات إضافية إلى حساب Data Lake Analytics، راجع إدارة مصادر بيانات حساب Data Lake Analytics.

ملاحظة

إذا كنت تقوم بالنسخ من حساب Azure Data Lake Storage Gen1 كمصدر باستخدام حساب Data Lake Analytics، فلن تحتاج إلى إقران حساب Data Lake Storage Gen1 بحساب Data Lake Analytics. شرط إقران المخزن المصدر بحساب Data Lake Analytics هو فقط عندما يكون المصدر حساب تخزين Azure.

قم بتشغيل الأمر التالي للنسخ من كائن ثنائي كبير الحجم Azure Storage إلى حساب Data Lake Storage Gen1 باستخدام حساب Data Lake Analytics:

AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/<blob name> /dest swebhdfs://<dest_adlsg1_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container> /Account <data_lake_analytics_account> /Units <number_of_data_lake_analytics_units_to_be_used>

على سبيل المثال:

AdlCopy /Source https://mystorage.blob.core.windows.net/mycluster/example/data/gutenberg/ /dest swebhdfs://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ== /Account mydatalakeanalyticaccount /Units 2

وبالمثل، قم بتشغيل الأمر التالي لنسخ جميع الملفات من مجلد معين في حساب Data Lake Storage Gen1 المصدر إلى مجلد في حساب Data Lake Storage Gen1 الوجهة باستخدام حساب Data Lake Analytics:

AdlCopy /Source adl://mysourcedatalakestorage.azuredatalakestore.net/mynewfolder/ /dest adl://mydestdatastorage.azuredatalakestore.net/mynewfolder/ /Account mydatalakeanalyticaccount /Units 2

اعتبارات الأداء

عند نسخ البيانات في نطاق التيرابايت، يوفر استخدام AdlCopy مع حساب Azure Data Lake Analytics الخاص بك أداء أفضل وأكثر قابلية للتنبؤ. المعلمة التي يجب ضبطها هي عدد وحدات Azure Data Lake Analytics لاستخدامها في مهمة النسخ. ستؤدي زيادة عدد الوحدات إلى زيادة أداء مهمة النسخ. يمكن لكل ملف يتم نسخه استخدام وحدة واحدة كحد أقصى. لن يؤدي تحديد وحدات أكثر من عدد الملفات التي يتم نسخها إلى زيادة الأداء.

استخدام AdlCopy لنسخ البيانات باستخدام مطابقة النمط

في هذا القسم، ستتعلم كيفية استخدام AdlCopy لنسخ البيانات من مصدر (في مثالنا أدناه نستخدم Azure Storage Blob) إلى حساب Data Lake Storage Gen1 الوجهة باستخدام مطابقة النمط. على سبيل المثال، يمكنك استخدام الخطوات أدناه لنسخ جميع الملفات مع ملحق .csv من الكائن الثنائي كبير الحجم المصدر إلى الوجهة.

  1. «Open » موجه أوامر وانتقل إلى الدليل حيث يتم تثبيت AdlCopy، بشكل نموذجي %HOMEPATH%\Documents\adlcopy.

  2. قم بتشغيل الأمر التالي لنسخ جميع الملفات باستخدام ملحق *.csv من كائن ثنائي كبير الحجم معين من الحاوية المصدر إلى مجلد Data Lake Storage Gen1:

    AdlCopy /source https://<source_account>.blob.core.windows.net/<source_container>/<blob name> /dest swebhdfs://<dest_adlsg1_account>.azuredatalakestore.net/<dest_folder>/ /sourcekey <storage_account_key_for_storage_container> /Pattern *.csv
    

    على سبيل المثال:

    AdlCopy /source https://mystorage.blob.core.windows.net/mycluster/HdiSamples/HdiSamples/FoodInspectionData/ /dest adl://mydatalakestorage.azuredatalakestore.net/mynewfolder/ /sourcekey uJUfvD6cEvhfLoBae2yyQf8t9/BpbWZ4XoYj4kAS5Jf40pZaMNf0q6a8yqTxktwVgRED4vPHeh/50iS9atS5LQ== /Pattern *.csv
    

الفوترة

  • إذا كنت تستخدم أداة AdlCopy كأداة مستقلة، فستتم محاسبتك على تكاليف الخروج لنقل البيانات، إذا لم يكن حساب تخزين Azure المصدر في نفس منطقة حساب Data Lake Storage Gen1.
  • إذا كنت تستخدم أداة AdlCopy مع حساب Data Lake Analytics الخاص بك، فسيتم تطبيق معدلات فوترة Data Lake Analytics القياسية.

اعتبارات استخدام AdlCopy

  • يدعم AdlCopy (للإصدار 1.0.5) نسخ البيانات من المصادر التي تحتوي بشكل جماعي على أكثر من آلاف الملفات والمجلدات. ومع ذلك، إذا واجهت مشكلات في نسخ مجموعة بيانات كبيرة، يمكنك توزيع الملفات/المجلدات في مجلدات فرعية مختلفة واستخدام المسار إلى تلك المجلدات الفرعية كمصدر بدلا من ذلك.

اعتبارات الأداء لاستخدام AdlCopy

يدعم AdlCopy نسخ البيانات التي تحتوي على آلاف الملفات والمجلدات. ومع ذلك، إذا واجهت مشكلات في نسخ مجموعة بيانات كبيرة، يمكنك توزيع الملفات/المجلدات في مجلدات فرعية أصغر. تم إنشاء AdlCopy للنسخ المخصصة. إذا كنت تحاول نسخ البيانات على أساس متكرر، يجب أن تفكر في استخدام Azure Data Factory الذي يوفر إدارة كاملة حول عمليات النسخ.

ملاحظات الإصدار

  • 1.0.13 - إذا كنت تقوم بنسخ البيانات إلى نفس حساب Azure Data Lake Storage Gen1 عبر أوامر adlcopy متعددة، فلن تحتاج إلى إعادة إدخال بيانات الاعتماد الخاصة بك لكل تشغيل بعد الآن. سيقوم Adlcopy الآن بذاكرة التخزين المؤقت لتلك المعلومات عبر عمليات تشغيل متعددة.

الخطوات التالية