استخدام مجموعة أدوات Azure لـ IntelliJ لإنشاء تطبيقات Apache Spark للمجموعة HDInsight

توضح هذه المقالة كيفية تطوير تطبيقات Apache Spark على Azure HDInsight باستخدام الأداة الإضافية مجموعة أدوات Azure لـ IntelliJ IDE. Azure HDInsight هي خدمة تحليلات مُدارة ومفتوحة المصدر على السحابة. تتيح لك الخدمة استخدام أطر مفتوحة المصدر مثل Hadoop وApache Spark وApache Hive وApache Kafka.

يمكنك استخدام الأداة الإضافية مجموعة أدوات Azure بعدة طرق:

  • تطوير وتقديم تطبيق Scala Spark على نظام مجموعة HDInsight Spark.
  • الوصول إلى موارد نظام مجموعة Azure HDInsight Spark.
  • قم بتطوير وتشغيل تطبيق Scala Spark محليًا.

في هذه المقالة، ستتعرف على كيفية:

  • استخدام Azure Toolkit للمكون الإضافي IntelliJ
  • تطوير تطبيقات Apache Spark
  • إرسال تطبيق إلى مجموعة Azure HDInsight

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

ثبت المكون الإضافي Scala لـ IntelliJ IDEA

خطوات تثبيت المكون الإضافي Scala:

  1. افتح IntelliJ IDEA.

  2. على شاشة الترحيب، انتقل إلى تكوين>المكونات الإضافية لفتح نافذة المكونات الإضافية.

    IntelliJ IDEA enables scala plugin.

  3. حدد تثبيت المكون الإضافي Scala الذي يظهر في النافذة الجديدة.

    IntelliJ IDEA installs scala plugin.

  4. عقب تثبيت المكون الإضافي بنجاح، يجب إعادة تشغيل IDE.

إنشاء تطبيق Spark Scala لمجموعة HDInsight Spark

  1. ابدأ تشغيل IntelliJ IDEA، وحدد "Create New Project" لفتح نافذة "New Project".

  2. حدد Apache Spark/HDInsight من الجزء الأيسر.

  3. حدد مشروع Spark (Scala) من النافذة الرئيسية.

  4. من القائمة المنسدلة أداة الإنشاء حدد أحد الأنواع التالية:

    • Maven لدعم معالج إنشاء مشروع Scala.

    • SBT لإدارة التبعيات والبناء لمشروع project.

      IntelliJ IDEA New Project dialog box.

  5. حدد التالي.

  6. في إطار المشروع الجديد وفر المعلومات التالية:

    الخاصية ‏‏الوصف
    اسم المشروع أدخل اسمًا. يستخدم هذا المقال myApp.
    موقع المشروع أدخل الموقع لحفظ المشروع.
    مشروع SDK قد يكون هذا الحقل فارغاً في أول استخدام لـ IDEA. حدد جديد... وانتقل إلى JDK.
    إصدار Spark يدمج معالج الإنشاء الإصدار المناسب لـSpark SDK و Scala SDK. إذا كان إصدار مجموعة Spark أقدم من 2.0، فحدد Spark 1.x. أو حدد Spark2.x. يستخدم هذا المثال Spark 2.3.0 (Scala 2.11.8).

    Selecting the Apache Spark SDK.

  7. حدد إنهاء. قد يستغرق الأمر بضع دقائق قبل أن يصبح المشروع متاحًا.

  8. يقوم مشروع Spark تلقائيًا بإنشاء أداة لك. لعرض الأداة، نفذ الخطوات التالية:

    أ. من شريط القائمة، انتقل إلى >Project Structure....

    ب. من نافذة Project Structure، حدد Artifacts.

    جـ. حدد Cancel بعد عرض الأداة.

    Artifact info in the dialog box.

  9. أضف التعليمات البرمجية المصدر للتطبيق الخاص بك عن طريق تنفيذ الخطوات التالية:

    أ. من Project، انتقل إلى myApp>src>main>scala.

    ب. انقر بزر الماوس الأيمن فوق scala، ثم انتقل إلى New>Scala Class.

    Commands for creating a Scala class from Project.

    جـ. في مربع الحوار Create New Scala Class، أدخل اسماً، وحدد Object في القائمة المنسدلة Kind، ثم حدد OK.

    Create New Scala Class dialog box.

    د. ثم يفتح الملف myApp.scala في طريقة العرض الرئيسية. استبدال التعليمات البرمجية الافتراضية بالتعليمات البرمجية الموجودة أدناه:

    import org.apache.spark.SparkConf
    import org.apache.spark.SparkContext
    
    object myApp{
        def main (arg: Array[String]): Unit = {
        val conf = new SparkConf().setAppName("myApp")
        val sc = new SparkContext(conf)
    
        val rdd = sc.textFile("wasbs:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
    
        //find the rows that have only one digit in the seventh column in the CSV file
        val rdd1 =  rdd.filter(s => s.split(",")(6).length() == 1)
    
        rdd1.saveAsTextFile("wasbs:///HVACOut")
        }
    
    }
    

    تقرأ التعليمات البرمجية البيانات من HVAC.csv (المتوفر على جميع مجموعات Spark HDInsight)، وتسترد الصفوف التي تحتوي على رقم واحد فقط في العمود السابع في ملف CSV ثم تكتب الإخراج إلى /HVACOut ضمن حاوية التخزين الافتراضية للمجموعة.

الاتصال بمجموعة HDInsight لديك

يمكن للمستخدم إما تسجيل الدخول إلى اشتراك Azure الخاص بك، أو ربط مجموعة HDInsight. استخدم اسم مستخدم/كلمة مرور Ambari أو بيانات الاعتماد المنضمة إلى المجال للاتصال بمجموعة HDInsight الخاصة بك.

تسجيل الدخول إلى اشتراك Azure الخاص بك

  1. من شريط القوائم، انتقل إلى View>Tool Windows >Azure Explorer.

    IntelliJ IDEA shows azure explorer.

  2. من مستكشف Azure، انقر بزر الماوس الأيمن فوق عقدة Azure، ثم حدد Sign In.

    IntelliJ IDEA explorer right-click azure.

  3. في مربع الحوار Azure Sign In، اختر Device Login،ثم حدد Sign in.

    `IntelliJ IDEA azure sign-in device login`.

  4. في مربع الحوار Azure Device Login، انقر فوق Copy&Open.

    `IntelliJ IDEA azure device login`.

  5. في واجهة المستعرض، قم بلصق التعليمات البرمجية، ثم انقر فوق Next.

    `Microsoft enter code dialog for HDI`.

  6. أدخل بيانات اعتماد Azure، ثم أغلق المستعرض.

    `Microsoft enter e-mail dialog for HDI`.

  7. بعد تسجيل الدخول، يسرد مربع الحوار Select Subscriptions كافة اشتراكات Azure المقترنة ببيانات الاعتماد. حدد اشتراكك، ثم حدد الزر Select.

    The Select Subscriptions dialog box.

  8. من Azure Explorer، قم بتوسيع HDInsight لعرض مجموعات HDInsight Spark الموجودة في اشتراكاتك.

    IntelliJ IDEA Azure Explorer main view.

  9. لعرض الموارد (على سبيل المثال، حسابات التخزين) المقترنة مع المجموعة، يمكنك توسيع عقدة اسم المجموعة.

    Azure Explorer storage accounts.

يمكنك ربط نظام HDInsight باستخدام اسم مستخدم Apache Ambari المُدار. وبالمثل، بالنسبة لنظام مجموعة HDInsight المُنضم إلى المجال، يمكنك الربط باستخدام المجال واسم المستخدم، مثل user1@contoso.com. كما يمكنك ربط مجموعة Livy Service.

  1. من شريط القوائم، انتقل إلى View>Tool Windows >Azure Explorer.

  2. من مستكشف Azure، انقر بزر الماوس الأيمن فوق عقدة HDInsight، ثم حدد Link A Cluster.

    Azure Explorer link cluster context menu.

  3. تختلف الخيارات المتاحة في نافذة ارتباط مجموعة باختلاف القيمة التي تحددها من القائمة المنسدلة نوع مورد الارتباط. أدخل قيمك ثم حدد OK.

    • مجموعة HDInsight

      الخاصية القيمة
      نوع مورد الارتباط حدد HDInsight Cluster من القائمة المنسدلة.
      اسم المجموعة/عنوان URL أدخل اسم المجموعة.
      نوع المصادقة ترك كـ مصادقة أساسية
      اسم المستخدم أدخل اسم مستخدم المجموعة، حيث إن الافتراضي هو المسؤول.
      كلمة المرور أدخل كلمة المرور الخاصة باسم المستخدم.

      IntelliJ IDEA link a cluster dialog.

    • خدمة Livy

      الخاصية القيمة
      نوع مورد الارتباط حدد Livy Service من القائمة المنسدلة.
      نقطة نهاية Livy أدخل نقطة نهاية Livy
      اسم المجموعة أدخل اسم المجموعة.
      نقطة نهاية Yarn اختياري.
      نوع المصادقة ترك كـ مصادقة أساسية
      اسم المستخدم أدخل اسم مستخدم المجموعة، حيث إن الافتراضي هو المسؤول.
      كلمة المرور أدخل كلمة المرور الخاصة باسم المستخدم.

      IntelliJ IDEA link Livy cluster dialog.

  4. يمكنك مشاهدة المجموعة المرتبطة من عقدة HDInsight.

    Azure Explorer linked cluster1.

  5. يمكنك أيضاً إلغاء ارتباط نظام من مستكشف Azure.

    Azure Explorer unlinked cluster.

تشغيل تطبيق Spark Scala على مجموعة HDInsight Spark

بعد إنشاء تطبيق Scala، يمكنك إرساله إلى المجموعة.

  1. من Project، انتقل إلى myApp>src>الرئيسية>scala>myApp. انقر بزر الماوس الأيمن فوق myApp، وحدد Submit Spark Application (من المحتمل أن يكون موجوداً أسفل القائمة).

    The Submit Spark Application to HDInsight command.

  2. في نافذة الحوار Submit Spark Application، حدد 1. Spark on HDInsight.

  3. في نافذة Edit configuration، قم بتوفير القيم التالية ثم حدد OK:

    الخاصية القيمة
    مجموعات Spark (Linux فقط) حدد نظام مجموعة HDInsight Spark الذي تريد تشغيل تطبيقك عليه.
    تحديد أداة للتقديم اترك الإعداد الافتراضي.
    اسم الفئة الرئيسية القيمة الافتراضية هي الفئة الرئيسية من الملف المحدد. يمكنك تغيير الفئة عن طريق تحديد القطع الناقص(...) واختيار فئة أخرى.
    تكوينات الوظيفة يمكنك تغيير المفاتيح و/أو القيم الافتراضية. لمزيد من المعلومات، راجع Apache Livy REST API.
    وسيطات سطر الأوامر يمكنك إدخال وسيطات مفصولة بمسافة للفئة الرئيسية إذا لزم الأمر.
    الجرار والملفات المشار إليها يمكنك إدخال مسارات الجرار المشار إليها والملفات إن وجدت. يمكنك أيضاً استعراض الملفات في نظام الملفات الظاهري Azure الذي يدعم حالياً فقط نظام المجموعة ADLS Gen 2. لمزيدٍ من المعلومات: انظر تكوين Apache Spark. انظر كذلك، كيفية تحميل الموارد إلى المجموعة.
    تخزين تحميل الوظيفة قم بالتوسيع للكشف عن خيارات إضافية.
    نوع التخزين حدد Use Azure Blob to upload من القائمة المنسدلة.
    حساب التخزين أدخل حساب التخزين الخاص بك.
    مفتاح التخزين أدخل مفتاح التخزين.
    حاوية التخزين حدد حاوية التخزين من القائمة المنسدلة بمجرد إدخال حساب التخزينومفتاح التخزين.

    The Spark Submission dialog box.

  4. حدد SparkJobRun لإرسال المشروع إلى المجموعة المحددة. تعرض علامة التبويب Remote Spark Job in Cluster تقدم تنفيذ المهمة في الأسفل. يمكنك إيقاف التطبيق بالنقر فوق الزر الأحمر.

    Apache Spark Submission window.

تصحيح أخطاء تطبيقات Apache Spark محلياً أو عن بُعد على مجموعة HDInsight

نوصي أيضاً بطريقة أخرى لإرسال تطبيق Spark إلى المجموعة. يمكنك القيام بذلك عن طريق تعيين المعلمات في تكوينات تشغيل/تصحيح الأخطاء لـ IDE. انظر تتبع أخطاء تطبيقات Apache Spark محلياً أو عن بُعد على نظام مجموعة HDInsight باستخدام مجموعة أدوات Azure لـ Intelj عبر SSH.

الوصول إلى مجموعات HDInsight Spark وإدارتها باستخدام مجموعة أدوات Azure لـ IntelliJ

يمكنك إجراء عمليات مختلفة باستخدام مجموعة أدوات Azure لـ IntelliJ. يتم تشغيل معظم العمليات من مستكشف Azure. من شريط القوائم، انتقل إلى View>Tool Windows >Azure Explorer.

الوصول إلى طريقة عرض المهمة

  1. من Azure Explorer، انتقل إلى HDInsight><نظام مجموعتك>>الوظائف.

    IntelliJ Azure Explorer Job view node.

  2. في الجزء الأيسر، تعرض علامة التبويب عرض مهمة Spark جميع التطبيقات التي تم تشغيلها في نظام المجموعة. حدد اسم التطبيق الذي تريد الاطلاع على مزيد من التفاصيل عنه.

    Spark Job View Application details.

  3. لعرض معلومات مهمة التشغيل الأساسية، مرر الماوس فوق الرسم البياني للوظيفة. لعرض الرسم البياني للمراحل والمعلومات التي تولدها كل مهمة، حدد عقدة في الرسم البياني للمهمة.

    Spark Job View Job stage details.

  4. لعرض السجلات المستخدمة بشكل متكرر، مثل Driver Stderr وDriver Stdout وDirectory Info، حدد علامة التبويب Log.

    Spark Job View Log details.

  5. يمكنك عرض واجهة مستخدم محفوظات Spark وواجهة مستخدم YARN (على مستوى التطبيق). حدد ارتباطاً أعلى النافذة.

الوصول إلى خادم محفوظات Spark

  1. من مستكشف Azure، وسّع HDInsight، وانقر بزر الماوس الأيمن فوق اسم مجموعة Spark، ثم حدد Open Spark History UI.

  2. عند مطالبتك، أدخل بيانات اعتماد مسؤول المجموعة التي حددتها عند إعداد المجموعة.

  3. من لوحة معلومات خادم محفوظات Spark، يمكنك استخدام اسم التطبيق للبحث عن التطبيق الذي انتهيت للتو من تشغيله. في التعليمات البرمجية السابقة، قمت بتعيين اسم التطبيق باستخدام val conf = new SparkConf().setAppName("myApp"). اسم تطبيق Spark الخاص بك هو myApp.

بدء تشغيل مدخل Ambari

  1. من مستكشف Azure، قم بتوسيع HDInsight، وانقر بزر الماوس الأيمن فوق اسم مجموعة Spark، ثم حدد Open Cluster Management Portal (Ambari).

  2. أدخل بيانات اعتماد المسؤول لنظام المجموعة عند مطالبتك بذلك. لقد حددت بيانات الاعتماد هذه أثناء عملية إعداد المجموعة.

إدارة اشتراكات Azure

بشكلٍ افتراضي، تسرد مجموعة أدوات Azure الخاصة بـ IntelliJ مجموعات Spark من جميع اشتراكات Azure. إذا لزم الأمر، يمكنك تحديد الاشتراكات التي تريد الوصول إليها.

  1. من مستكشف Azure، انقر بزر الماوس الأيمن فوق عقدة جذر Azure، ثم حدد Select Subscriptions.

  2. من نافذة Select Subscriptions، قم بإلغاء تحديد خانات الاختيار المجاورة للاشتراكات التي لا تريد الوصول إليها، ثم حدد Close.

وحدة تحكم Spark

يمكنك تشغيل وحدة التحكم المحلية Spark (Scala) أو تشغيل وحدة تحكم جلسة العمل التفاعلية Spark Livy (Scala).

وحدة التحكم المحلية لـ Spark (Scala)

تأكد من استيفاء شرط WINUTILS.EXE الأساسي.

  1. من شريط القوائم، انتقل إلى Run>Edit Configurations....

  2. من نافذة Run/Debug Configurations في الجزء الأيسر، انتقل إلى Apache Spark on HDInsight>[Spark on HDInsight] myApp.

  3. من النافذة الرئيسية، حدد علامة التبويب Locally Run.

  4. قم بتوفير القيم التالية، ثم حدد OK:

    الخاصية القيمة
    الفئة الرئيسية للمهمة القيمة الافتراضية هي الفئة الرئيسية من الملف المحدد. يمكنك تغيير الفئة عن طريق تحديد القطع الناقص(...) واختيار فئة أخرى.
    متغيرات البيئة تأكد من صحة قيمة HADOOP_HOME.
    موقع WINUTILS.exe تأكد من صحة المسار.

    Local Console Set Configuration.

  5. من Project، انتقل إلى myApp>src>الرئيسية>scala>myApp.

  6. من شريط القوائم، انتقل إلى Tools>Spark Console>Run Spark Local Console(Scala).

  7. ثم قد يتم عرض مربعي حوار لسؤالك عما إذا كنت تريد إصلاح التبعيات تلقائيًا. إذا كان الأمر كذلك، حدد Auto Fix.

    IntelliJ IDEA Spark Auto Fix dialog1.

    IntelliJ IDEA Spark Auto Fix dialog2.

  8. يجب أن تبدو وحدة التحكم مشابهة للصورة أدناه. في نوع إطار وحدة التحكم sc.appName، ثم اضغط ctrl+Enter. سيتم عرض النتيجة. يمكنك إنهاء وحدة التحكم المحلية بالنقر فوق الزر الأحمر.

    IntelliJ IDEA local console result.

وحدة التحكم في الجلسة التفاعلية Spark Livy (Scala)

  1. من شريط القوائم، انتقل إلى Run>Edit Configurations....

  2. من نافذة Run/Debug Configurations في الجزء الأيسر، انتقل إلى Apache Spark on HDInsight>[Spark on HDInsight] myApp.

  3. من النافذة الرئيسية، حدد علامة التبويب Remotely Run in Cluster.

  4. قم بتوفير القيم التالية، ثم حدد OK:

    الخاصية القيمة
    مجموعات Spark (Linux فقط) حدد نظام مجموعة HDInsight Spark الذي تريد تشغيل تطبيقك عليه.
    اسم الفئة الرئيسية القيمة الافتراضية هي الفئة الرئيسية من الملف المحدد. يمكنك تغيير الفئة عن طريق تحديد القطع الناقص(...) واختيار فئة أخرى.

    Interactive Console Set Configuration.

  5. من Project، انتقل إلى myApp>src>الرئيسية>scala>myApp.

  6. من شريط القوائم، انتقل إلى Tools>Spark console>Run Spark Livy Interactive Session Console(Scala).

  7. يجب أن تبدو وحدة التحكم مشابهة للصورة أدناه. في نوع إطار وحدة التحكم sc.appName، ثم اضغط ctrl+Enter. سيتم عرض النتيجة. يمكنك إنهاء وحدة التحكم المحلية بالنقر فوق الزر الأحمر.

    IntelliJ IDEA Interactive Console Result.

إرسال التحديد إلى وحدة تحكم Spark

من الملائم لك توقع نتيجة البرنامج النصي عن طريق إرسال بعض التعليمات البرمجية إلى وحدة التحكم المحلية أو وحدة التحكم Livy Interactive Session Console(Scala). يمكنك تمييز بعض التعليمات البرمجية في ملف Scala، ثم النقر بزر الماوس الأيمن فوق Send Selection To Spark Console. سيتم إرسال التعليمات البرمجية المحددة إلى وحدة التحكم. سيتم عرض النتيجة بعد التعليمات البرمجية في وحدة التحكم. تتحقق وحدة التحكم من الأخطاء إذا كانت موجودة.

Send Selection to Spark Console.

التكامل مع HDInsight Identity Broker (HIB)

اتصل بمجموعة HDInsight ESP الخاصة بك باستخدام ID Broker (HIB)

يمكنك اتباع الخطوات العادية لتسجيل الدخول إلى اشتراك Azure للاتصال بمجموعة HDInsight ESP باستخدام ID Broker (HIB). بعد تسجيل الدخول، سترى قائمة المجموعة في مستكشف Azure. لمزيد من الإرشادات، راجع الاتصال بمجموعة HDInsight.

تشغيل تطبيق Spark Scala على مجموعة HDInsight ESP باستخدام ID Broker (HIB)

يمكنك اتباع الخطوات العادية لإرسال المهمة إلى مجموعة HDInsight ESP باستخدام ID Broker (HIB). راجع تشغيل تطبيق Spark Scala على مجموعة HDInsight Spark للحصول على مزيد من الإرشادات.

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

upload path in the configuration.

وحدة تحكم Spark على مجموعة HDInsight ESP باستخدام ID Broker (HIB)

يمكنك تشغيل وحدة التحكم المحلية لـ Spark (Scala) أو تشغيل وحدة تحكم جلسة العمل التفاعلية لـ Spark Livy (Scala) على نظام مجموعة HDInsight ESP باستخدام ID Broker (HIB). راجع وحدة تحكم Spark للحصول على مزيدٍ من الإرشادات.

إشعار

بالنسبة إلى نظام المجموعة HDInsight ESP باستخدام Id Broker (HIB)، لا يتم حالياً دعم ربط نظام مجموعة وتصحيح أخطاء تطبيقات Apache Spark عن بعد.

دور القارئ فقط

عندما يرسل المستخدمون مهمة إلى نظام مجموعة بإذن دور «قارئ فقط»، تكون بيانات اعتماد Ambari مطلوبة.

  1. قم بتسجيل الدخول بحساب دور «قارئ فقط».

  2. من Azure Explorer، قم بتوسيع HDInsight لعرض أنظمة مجموعات HDInsight الموجودة في اشتراكك. أنظمة المجموعات المميزة بعلامة "دور:قارئ" لها إذن دور للقارئ فقط.

    `IntelliJ Azure Explorer Role:Reader`.

  3. انقر بزر الماوس الأيمن فوق نظام المجموعة الذي له إذن دور قارئ فقط. حدد ربط نظام المجموعة هذا من قائمة السياق لربط نظام المجموعة. أدخل اسم المستخدم وكلمة المرور لـ Ambari.

    IntelliJ Azure Explorer link this cluster.

  4. إذا تم ربط نظام المجموعة بنجاح، فسيتم تحديث HDInsight. وستصبح مرحلة نظام المجموعة مرتبطة.

    IntelliJ Azure Explorer linked dialog.

  1. انقر فوق عقدة Jobs، تنبثق نافذة رفض الوصول إلى مهمة نظام المجموعة.

  2. انقر فوق Link this cluster لربط نظام المجموعة.

    cluster job access denied dialog.

  1. إنشاء تكوين HDInsight. ثم حدد Remotely Run in Cluster.

  2. حدد مجموعة النظام، التي لديها إذن دور القارئ فقط لمجموعات Spark (Linux فقط). تظهر رسالة تحذير. يمكنك النقر فوق ربط نظام المجموعة هذا لربط نظام المجموعة.

    IntelliJ IDEA run/debug configuration create.

عرض حسابات التخزين

  • بالنسبة لأنظمة المجموعات التي لها إذن دور قارئ فقط، انقر فوق عقدة Storage Accounts، وستنبثق نافذة رفض الوصول إلى التخزين. يمكنك النقر فوق Open Azure Storage Explorer لفتح مستكشف التخزين.

    `IntelliJ IDEA Storage Access Denied`.

    IntelliJ IDEA Storage Access Denied button.

  • بالنسبة لأنظمة المجموعات المرتبطة، انقر فوق عقدة Storage Accounts، وستنبثق نافذة رفض الوصول إلى التخزين. يمكنك النقر فوق Open Azure Storage لفتح مستكشف التخزين.

    `IntelliJ IDEA Storage Access Denied2`.

    IntelliJ IDEA Storage Access Denied2 button.

تحويل تطبيقات IntelliJ IDEA الحالية لاستخدام مجموعة أدوات Azure لـ IntelliJ

يمكنك تحويل تطبيقات Spark Scala الموجودة التي قمت بإنشائها في IntelliJ IDEA لتكون متوافقة مع مجموعة أدوات Azure لـ IntelliJ. يمكنك بعد ذلك استخدام المكون الإضافي لإرسال التطبيقات إلى مجموعة HDInsight Spark.

  1. بالنسبة لتطبيق Spark Scala الحالي الذي تم إنشاؤه من خلال IntelliJ IDEA، افتح ملف .iml المرتبط.

  2. على مستوى الجذر، يوجد عنصر وحدة مثل النص التالي:

    <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
    

    تحرير العنصر المراد إضافته UniqueKey="HDInsightTool" بحيث يبدو عنصر الوحدة مشابهاً للنص التالي:

    <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4" UniqueKey="HDInsightTool">
    
  3. ا‏‏حفظ التغييرات. يجب أن يكون تطبيقك الآن متوافقاً مع مجموعة أدوات Azure لـ IntelliJ. يمكنك اختباره بالنقر بزر الماوس الأيمن فوق اسم المشروع في المشروع. تحتوي القائمة المنبثقة الآن على الخيار إرسال تطبيق Spark إلى HDInsight.

تنظيف الموارد

إذا كنت لن تستمر في استخدام هذا التطبيق، فاحذف المجموعة التي قمت بإنشائها عن طريق اتباع الخطوات التالية:

  1. قم بتسجيل الدخول إلى بوابة Azure.

  2. في المربع بحث في الأعلى، اكتب HDInsight.

  3. حدد مجموعات HDInsight ضمن الخدمات.

  4. في قائمة مجموعات HDInsight التي تظهر، حدد ... بجانب المجموعة التي قمت بإنشائها لهذه المقالة.

  5. حدد حذف. حدد نعم.

Azure portal deletes HDInsight cluster.

الأخطاء والحل

قم بإلغاء وضع علامة على المجلد src كمصادر إذا تلقيت أخطاء فشل الإنشاء كما يلي:

Screenshot showing the build failed.

قم بإلغاء وضع علامة على المجلد src كمصادر لحل هذه المشكلة:

  1. انتقل إلى ملف وحدد بنية المشروع.

  2. حدد الوحدات ضمن الإعدادات Project.

  3. حدد ملف src وقم بإلغاء تحديده كمصادر.

  4. انقر فوق الزر تطبيق ثم انقر فوق الزر موافق لإغلاق مربع الحوار.

    Screenshot showing the unmark the src as sources.

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

في هذه المقالة، تعلمت كيفية استخدام مجموعة أدوات Azure للمكون الإضافي IntelliJ لتطوير تطبيقات Apache Spark المكتوبة بلغة Scala. ثم أرسلها إلى مجموعة HDInsight Spark مباشرة من بيئة التطوير المتكاملة IntelliJ (IDE). انتقل إلى المقالة التالية لمعرفة طريقة التمكن منسحب البيانات التي قمت بتسجيلها في Apache Spark في أداة تحليلات BI، مثل Power BI.