تحويل البيانات في الشبكة الافتراضية في Azure باستخدام نشاط Hive في Azure Data Factory عبر مدخل Azure

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

تلميح

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

يمكنك في هذا البرنامج التعليمي، استخدام مدخل Azure لإنشاء بنية أساسية لـ Data Factory يقوم بتحويل البيانات باستخدام نشاط Hive على شبكة نظام مجموعة HDInsight الموجودة في الشكة الافتراضية لنظام Azure (VNet) نفذ الخطوات التالية في هذا البرنامج التعليمي:

  • إنشاء data factory.
  • إنشاء وقت تشغيل تكامل مستضاف ذاتيا
  • إنشاء خدمات تخزين Azure والخدمات المتعلقة بنظام Azure HDInsight
  • إنشاء البنية الأساسية بجانب نشاط Hive
  • تتبع تشغيل البنية الأساسية
  • راقب عملية تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية
  • تحقق من الإخراج

في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

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

إشعار

نوصي باستخدام الوحدة النمطية Azure Az PowerShell للتفاعل مع Azure. راجع تثبيت Azure PowerShell للبدء. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

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

  • شبكة Azure الظاهرية. إذا لم يكن لديك شبكة Azure ظاهرية، فبادر بإنشائها باتباع هذه الإرشادات. في هذا النموذج، يوجد HDInsight في شبكة Azure الافتراضية. فيما يلي نموذج تكوين لشبكة Azure الافتراضية.

    Create virtual network

  • مجموعة HDInsight. أنشئ مجموعة HDInsight وانضم إليها إلى الشبكة الظاهرية التي أنشأتها في الخطوة السابقة باتباع هذه المقالة: توسيع Azure HDInsight باستخدام شبكة Azure الظاهرية. فيما يلي نموذج لتكوين HDInsight في شبكة افتراضية.

    HDInsight in a virtual network

  • Azure PowerShell. اتبع الإرشادات الموجودة في كيفية تثبيت وتكوين Azure PowerShell.

  • جهاز ظاهري. إنشاء جهاز افتراضي في Azure والانضمام إليها في نفس الشبكة الافتراضية التي تحتوي على مجموعة HDInsight الخاص بك. للحصول على التفاصيل، راجع كيفية إنشاء الأجهزة الظاهرية.

حمل البرنامج النصي من Hive إلى حساب تخزين Blob

  1. إنشاء ملف Hive SQL باسم hivescript.hql بالمحتوى التالي:

    DROP TABLE IF EXISTS HiveSampleOut; 
    CREATE EXTERNAL TABLE HiveSampleOut (clientid string, market string, devicemodel string, state string)
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' 
    STORED AS TEXTFILE LOCATION '${hiveconf:Output}';
    
    INSERT OVERWRITE TABLE HiveSampleOut
    Select 
        clientid,
        market,
        devicemodel,
        state
    FROM hivesampletable
    
  2. في مساحة تخزين Azure Blob، أنشئ حاوية باسم adftutorial إذا لم تكن موجودة بالفعل.

  3. إنشاء مجلد باسم hivescripts.

  4. قم بتحميل ملف hivescript.hql إلى المجلد الفرعي hivescripts.

إنشاء مصدرًا للبيانات

  1. إذا لم تكن قد أنشأت مصنع البيانات بعد، فاتبع الخطوات الواردة في التشغيل السريع: إنشاء مصنع بيانات باستخدام مدخل Azure وAzure Data Factory Studio لإنشاء واحد. بعد إنشائه، استعرض للوصول إلى مصنع البيانات في مدخل Microsoft Azure.

    Screenshot of home page for the Azure Data Factory, with the Open Azure Data Factory Studio tile.

  2. حدد Open من تجانب Open Azure Data Factory Studio لبدء تطبيق تكامل البيانات في علامة تبويب منفصلة.

إنشاء وقت تشغيل تكامل مستضاف ذاتيا

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

  1. في واجهة مستخدم Azure Data Factory، انقر فوق الاتصال ions في أسفل النافذة، وقم بالتبديل إلى علامة التبويب أوقات تشغيل التكامل، وانقر فوق الزر + جديد على شريط الأدوات.

    New integration runtime menu

  2. في نافذة إعداد وقت تشغيل التكامل، حدد الخيار تنفيذ حركة البيانات وإرسال الأنشطة إلى الحسابات الخارجية، وانقر فوق التالي.

    Select perform data movement and dispatch activities option

  3. حدد شبكة خاصة، وانقر فوق التالي.

    Select private network

  4. أدخل MySelfHostedIR للاسم، وانقر فوق التالي.

    Specify integration runtime name

  5. انسخ مفتاح المصادقة لوقت تشغيل التكامل بالنقر فوق زر النسخ، واحفظه. اترك النافذة مفتوحة يمكنك استخدام هذا المفتاح لتسجيل وقت التشغيل المثبت في الجهاز الافتراضي.

    Copy authentication key

ثبت وقت التشغيل على جهاز افتراضي

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

    Register integration runtime

  2. ستظهر الرسالة التالية عند تسجيل وقت تشغيل تكامل ذاتي الاستضافة بنجاح.

    Registered successfully

  3. انقر فوق Launch Configuration Manager. ستظهر الصفحة التالية عند توصيل العقدة إلى الخدمة السحابية.:

    Node is connected

وقت التشغيل المستضاف ذاتيًا في واجهة مستخدم مصنع بيانات Azure

  1. في واجهة مستخدم Azure Data Factory، يجب أن ترى اسم الجهاز الظاهري المستضاف ذاتيا وحالته.

    Existing self-hosted nodes

  2. انقر فوق إنهاء لإغلاق نافذة إعداد وقت تشغيل التكامل. سيظهر وقت التشغيل المستضاف ذاتيًا في قائمة أوقات تشغيل التكامل.

    Self-hosted IR in the list

إنشاء linked services

يمكنك تأليف ونشر اثنتين من الخدمات المرتبطة في هذا القسم:

  • خدمة مرتبطة ب Azure Storage تربط حساب Azure Storage بمصنع البيانات. هذا التخزين هو التخزين الأساسي الذي تستخدمه مجموعة HDInsight الخاصة بك. في هذه الحالة، يمكنك استخدام حساب تخزين Azure لتخزين البرنامج النصي في Hive وإخراج البرنامج النصي.
  • خدمة HDInsight المرتبطة. يرسل Azure Data Factory البرنامج النصي لـ Apache Hive إلى نظام مجموعة HDInsight هذا للتنفيذ.​

إنشاء خدمة مرتبطة لتخزين Azure

  1. قم بالتبديل إلى علامة التبويب الخدمات المرتبطة، وانقر فوق جديد.

    New linked service button

  2. في نافذة "New Linked Service"، حدد "Azure Blob Storage"، ثم حدد "Continue".

    Select Azure Blob Storage

  3. في نافذة New Linked Service، قم بالخطوات التالية:

    1. سجل AzureSqlDatabaseLinkedService في مربع "Name".

    2. حدد MySelfHostedIRالاتصال عبر وقت تشغيل التكامل.

    3. حدد حساب تخزين Azure لاسم حساب التخزين.

    4. لاختبار الاتصال بحساب التخزين، انقر فوق اختبار الاتصال.

    5. انقر فوق حفظ.

      Specify Azure Blob Storage account

إنشاء خدمة مرتبطة بتقنية HDInsight

  1. انقر فوق جديد مرة أخرى لإنشاء خدمة مرتبطة أخرى.

    New linked service button

  2. قم بالتبديل إلى علامة التبويب Compute ، وحدد Azure HDInsight، وانقر فوق Continue.

    Select Azure HDInsight

  3. في نافذة New Linked Service، قم بالخطوات التالية:

    1. أدخل AzureHDInsightLinkedService للاسم.

    2. حدد إحضار HDInsight الخاص بك.

    3. حدد مجموعة HDInsight الخاصة بك لمجموعة Hdi.

    4. أدخل اسم المستخدم لنظام مجموعة HDInsight.

    5. أدخل كلمة المرور للمستخدم.

      Azure HDInsight settings

تفترض هذه المقالة أن لديك حق الوصول إلى المجموعة عبر الإنترنت. على سبيل المثال، أنه يمكنك الاتصال بنظام المجموعة في https://clustername.azurehdinsight.net. يستخدم هذا العنوان البوابة العامة، والتي لا تتوفر إذا كنت قد استخدمت مجموعات أمان الشبكة (NSGs) أو المسارات المحددة من قبل المستخدم (UDRs) لتقييد الوصول من الإنترنت. ولكي يتمكن مصنع البيانات من إرسال مهام إلى مجموعة HDInsight في الشبكة الافتراضية في Azure، عليك تهيئة شبكة افتراضية في Azure بطريقة يمكن من خلالها حل عنوان URL إلى عنوان بروتوكول الإنترنت الخاص بالبوابة المستخدمة من جانب تهيئة HDInsight.

  1. من بوابة Azure، افتح الشبكة الافتراضية التي يوجد بها HDInsight. افتح واجهة الشبكة بالاسم بدءا من nic-gateway-0. دوّن عنوان IP الخاص به. على سبيل المثال، 10.6.0.15.

  2. إذا كانت شبكة Azure الظاهرية تحتوي على خادم DNS، فقم بتحديث سجل DNS بحيث يمكن حل عنوان URL https://<clustername>.azurehdinsight.net لنظام مجموعة HDInsight إلى 10.6.0.15. إن لم يكن لديك خادم نظام أسماء النطاقات في الشبكة الافتراضية في Azure، يمكنك العمل مؤقتًا من خلال تعديل ملف المضيفين (C: \ Windows \ System32 \ drivers \ إلخ) لجميع الأجهزة الافتراضية التي تم تسجيلها كعقد وقت تشغيل التكامل ذاتي الاستضافة عن طريق إضافة إدخال مشابه للإدخال التالي:

    10.6.0.15 myHDIClusterName.azurehdinsight.net

إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية

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

لاحظ النقاط التالية:

  • يشير scriptPath إلى المسار إلى البرنامج النصي Hive على حساب تخزين Azure الذي استخدمته ل MyStorageLinkedService. يتمتع المسار بحساسية حالة الأحرف.
  • الإخراج هو وسيطة مستخدمة في البرنامج النصي Hive. استخدم تنسيق wasbs://<Container>@<StorageAccount>.blob.core.windows.net/outputfolder/ لتوجيهه إلى مجلد موجود على Azure Storage. يتمتع المسار بحساسية حالة الأحرف.
  1. في واجهة مستخدم Data Factory، انقر فوق + (علامة الجمع) في الجزء الأيمن، وانقر فوق Pipeline.

    New pipeline menu

  2. في مربع أدوات الأنشطة، قم بتوسيع HDInsight، واسحب نشاط Hive إلى سطح مصمم البنية الأساسية لبرنامج ربط العمليات التجارية.

    drag-drop Hive activity

  3. في نافذة الخصائص، قم بالتبديل إلى علامة التبويب HDI Cluster ، وحدد AzureHDInsightLinkedService لخدمة HDInsight المرتبطة.

    Select HDInsight linked service

  4. قم بالتبديل إلى علامة التبويب البرامج النصية ، ثم قم بالخطوات التالية:

    1. حدد AzureStorageLinkedService for Script Linked Service.

    2. بالنسبة إلى مسار الملف، انقر فوق استعراض التخزين.

      Browse storage

    3. في نافذة اختيار ملف أو مجلد ، انتقل إلى مجلد hivescripts في حاوية adftutorial ، وحدد hivescript.hql، وانقر فوق إنهاء.

      Choose a file or folder

    4. تأكد من رؤية adftutorial/hivescripts/hivescript.hql لمسار الملف.

      Script settings

    5. في علامة التبويب Script، قم بتوسيع قسم Advanced .

    6. انقر فوق التعبئة التلقائية من البرنامج النصي للمعلمات.

    7. أدخل قيمة المعلمة Output بالتنسيق التالي: wasbs://<Blob Container>@<StorageAccount>.blob.core.windows.net/outputfolder/. على سبيل المثال: wasbs://adftutorial@mystorageaccount.blob.core.windows.net/outputfolder/.

      Script arguments

  5. لنشر البيانات الاصطناعية إلى Data Factory، انقر فوق Publish.

    Screenshot shows the option to publish to a Data Factory.

تتبع تشغيل البنية الأساسية

  1. أولا، تحقق من صحة البنية الأساسية لبرنامج ربط العمليات التجارية بالنقر فوق الزر التحقق من الصحة على شريط الأدوات. أغلق النافذة إخراج التحقق من البنية الأساسية لبرنامج ربط العمليات التجارية بالنقر فوق السهم الأيمن (>>) .

    Validate pipeline

  2. لتتبع تشغيل البنية الأساسية، انقر فوق تتبع على شريط الأدوات، وانقر فوق تتبع الآن.

    Trigger now

راقب عملية تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية

  1. يمكنك التبديل إلى علامة التبويب "Monitor" في الجهة اليسرى. ترى تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية في قائمة Pipeline Runs .

    Monitor pipeline runs

  2. لتحديث القائمة، انقر فوق Refresh.

  3. لعرض عمليات تشغيل النشاط المقترنة بتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية، انقر فوق عرض عمليات تشغيل النشاط في عمود الإجراء . ترد بعض روابط الإجراءات الأخرى لإيقاف أو عادة تشغيل البنية الأساسية.

    View activity runs

  4. ترى تشغيل نشاط واحد فقط نظرا لوجود نشاط واحد فقط في البنية الأساسية لبرنامج ربط العمليات التجارية من نوع HDInsightHive. للعودة إلى طريقة العرض السابقة، انقر فوق ارتباط Pipelines في الأعلى.

    Activity runs

  5. تأكد من رؤية ملف إخراج في مجلد الإخراج للحاوية adftutorial .

    Output file

نفّذت الخطوات التالية في هذا البرنامج التعليمي:

  • إنشاء data factory.
  • إنشاء وقت تشغيل تكامل مستضاف ذاتيا
  • إنشاء خدمات تخزين Azure والخدمات المتعلقة بنظام Azure HDInsight
  • إنشاء البنية الأساسية بجانب نشاط Hive
  • تتبع تشغيل البنية الأساسية
  • راقب عملية تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية
  • تحقق من الإخراج

انتقل إلى البرنامج التعليمي التالي لمعرفة المزيد حول تحويل البيانات باستخدام مجموعة Spark على Azure: