أضف مكتبات Apache Hive مخصصة عند إنشاء نظام مجموعة HDInsight

تعلم كيفية التحميل المسبق لمكتبات Apache Hive على HDInsight. يحتوي هذا المستند على معلومات حول استخدام إجراء Script لتحميل المكتبات مسبقا أثناء إنشاء نظام المجموعة. المكتبات المضافة باستخدام الخطوات الواردة في هذا المستند متاحة عالميًا في Apache Hive - ليست هناك حاجة لاستخدام ADD JAR لتحميلها.

كيف تعمل هذه الميزة

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

أثناء إنشاء نظام المجموعة البرنامج النصي تعداد الملفات نسخها إلى /usr/lib/customhivelibs/ الدليل على الرأس والعقد العاملة ثم إضافتها إلى hive.aux.jars.path الخاصية في الملف core-site.xml. على مجموعات المستندة إلى لينكس، فإنه أيضا بتحديث الملف hive-env.sh مع موقع الملفات.

باستخدام إجراء البرنامج النصي في هذه المقالة يجعل المكتبات متوفرة عند استخدام Apache Hive لWebHCat وHiveServer2.

البرنامج النصي

موقع البرنامج النصي

https://hdiconfigactions.blob.core.windows.net/setupcustomhivelibsv01/setup-customhivelibs-v01.ps1

المتطلبات

  • يجب تطبيق البرامج النصية على كل من العقد الرأسوالعقد العاملة.

  • ينبغي تخزين الجرار التي ترغب في تثبيتها في تخزين Azure Blob في حاوية واحدة.

  • ينبغي ربط حساب التخزين الذي يحتوي على مكتبة ملفات jar بمجموعة HDInsight أثناء الإنشاء. ينبغي أن يكون إما حساب التخزين الافتراضي أو حساب تمت إضافته من خلال حساب التخزين الإعدادات.

  • ينبغي تحديد مسار WASB إلى الحاوية كمعلمة إلى إجراء البرنامج النصي. على سبيل المثال، إذا تم تخزين الجرار في حاوية تسمى libs على حساب تخزين يسمى mystorage، المعلمة ستكون wasbs://libs@mystorage.blob.core.windows.net/.

    ملاحظة

    يفترض هذا المستند أنك قمت بالفعل بإنشاء حساب تخزين وحاوية blob وتحميل الملفات إليه.

    في حال لم تقم بإنشاء حساب تخزين، يمكنك القيام بذلك من خلال مدخل Microsoft Azure. يمكنك بعد ذلك استخدام أداة مساعدة مثل مستكشف التخزين Azure لإنشاء حاوية في الحساب وتحميل الملفات إليه.

إنشاء نظام مجموعة باستخدام البرنامج النصي

  1. بدء توفير كتلة باستخدام الخطوات في مجموعات توفير HDInsight على Linux، ولكن لا إكمال توفير. يمكنك أيضا استخدام Azure PowerShell أو SDK HDInsight.NET لإنشاء كتلة باستخدام هذا البرنامج النصي. لمزيد من المعلومات حول استخدام هذه الطرق، راجع تخصيص مجموعات HDInsight مع إجراءات البرنامج النصي. بالنسبة إلى مدخل Microsoft Azure، من علامة التبويب تكوين + تسعير حدد إجراء + إضافة برنامج نصي.

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

  3. لإجراءات البرنامج النصي، توفير المعلومات التالية:

    الخاصية القيمة
    نوع البرنامج النصي - مخصص
    الاسم المكتبات
    معرف موارد منتظم للبرنامج النصي Bash https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh
    نوع العقدة (العقدات) رئيس، عامل
    المعلمات أدخل عنوان WASB إلى حساب الحاوية والتخزين الذي يحتوي على الجرار. على سبيل المثال، ⁧wasbs://libs@mystorage.blob.core.windows.net/⁩.

    ملاحظة

    بالنسبة إلى Apache Spark 2.1، استخدم عنوان URI للبرنامج النصي bash:https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v00.sh.

  4. مواصلة توفير نظام المجموعة كما هو موضح في مجموعات HDInsight الحكم على Linux.

بمجرد اكتمال إنشاء نظام المجموعة، يمكنك استخدام jars المضافة من خلال البرنامج النصي من Apache Hive دون الحاجة إلى استخدام العبارة ADD JAR.

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

لمزيد من المعلومات حول العمل مع Hive، راجع استخدام Apache Hive مع HDInsight