استخدام الحزم الخارجية مع Jupyter Notebooks في مجموعات Apache Spark على HDInsight

تعرف على كيفية تكوين Jupyter Notebook في مجموعة Apache Spark على HDInsight لاستخدام حزم Apache maven الخارجية التي يساهم بها المجتمع والتي لم يتم تضمينها خارج الصندوق في المجموعة.

يمكنك البحث في مستودع Maven عن القائمة الكاملة للحزم المتوفرة. يمكنك أيضاً الحصول على قائمة بالحزم المتاحة من مصادر أخرى. على سبيل المثال، تتوفر قائمة كاملة بالحزم التي يساهم بها المجتمع في Spark Packages.

في هذه المقالة، ستتعرف على كيفية استخدام الحزمة spark-csv مع Jupyter Notebook.

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

استخدام الحزم الخارجية مع دفاتر ملاحظات Jupyter

  1. انتقل إلى https://CLUSTERNAME.azurehdinsight.net/jupyterwhereCLUSTERNAME هو اسم مجموعة Spark الخاصة بك.

  2. قم بإنشاء دفتر ملاحظات جديد. حدد New، ثم حدد Spark.

    Create a new Spark Jupyter Notebook.

  3. يتم إنشاء دفتر ملاحظات جديد وفتحه باسم Untitled.pynb. حدد اسم دفتر الملاحظات في الجزء العلوي، وأدخل اسماً مألوفاً.

    Provide a name for the notebook.

  4. ستستخدم الحيلة %%configure لتكوين دفتر الملاحظات لاستخدام حزمة خارجية. في أجهزة الكمبيوتر المحمولة التي تستخدم حزماً خارجية، تأكد من استدعاء الحيلة %%configure في خلية التعليمات البرمجية الأولى. هذا يضمن أن النواة قد تم تكوينها لاستخدام الحزمة قبل بدء الجلسة.

    هام

    إذا نسيت تكوين النواة في الخلية الأولى، فيمكنك استخدام %%configure مع المعلمة -f، ولكن هذا سيعيد تشغيل الجلسة وسيتم فقد كل التقدم.

    نسخة HDInsight الأمر
    بالنسبة إلى HDInsight 3.5 وHDInsight 3.6 %%configure
    { "conf": {"spark.jars.packages": "com.databricks:spark-csv_2.11:1.5.0" }}
    بالنسبة إلى HDInsight 3.3 وHDInsight 3.4 %%configure
    { "packages":["com.databricks:spark-csv_2.10:1.4.0"] }
  5. تتوقع القصاصة البرمجية أعلاه إحداثيات المخضرم للحزمة الخارجية في Maven Central Repository. في هذه القصاصة البرمجية، يمثل com.databricks:spark-csv_2.11:1.5.0 إحداثي maven لحزمة spark-csv. إليك كيفية إنشاء إحداثيات الحزمة.

    أ. حدد موقع الحزمة في Maven Repository. في هذه المقالة، نستخدم spark-csv.

    ب. من المستودع، اجمع قيم GroupId وArtifactId وVersion. تأكد من أن القيم التي تجمعها تطابق مجموعتك. في هذه الحالة، نستخدم حزمة Scala 2.11 وSpark 1.5.0، ولكن قد تحتاج إلى تحديد إصدارات مختلفة لإصدار Scala أو Spark المناسب في مجموعتك. يمكنك معرفة إصدار Scala على مجموعتك عن طريق تشغيل scala.util.Properties.versionString على نواة Spark Jupyter أو إرسال Spark. يمكنك معرفة إصدار Spark على مجموعتك عن طريق تشغيل sc.version على Jupyter Notebooks.

    Use external packages with Jupyter Notebook.

    جـ. قم بتسلسل القيم الثلاثة، مفصولة بنقطتين (:).

    com.databricks:spark-csv_2.11:1.5.0
    
  6. قم بتشغيل خلية التعليمة البرمجية باستخدام الحيلة %%configure. يؤدي هذا إلى تكوين جلسة Livy الأساسية لاستخدام الحزمة التي قدمتها. في الخلايا التالية في دفتر الملاحظات، يمكنك الآن استخدام الحزمة، كما هو موضح أدناه.

    val df = spark.read.format("com.databricks.spark.csv").
    option("header", "true").
    option("inferSchema", "true").
    load("wasb:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
    

    بالنسبة لـ HDInsight 3.4 وما دونه، يجب عليك استخدام القصاصة البرمجية التالية.

    val df = sqlContext.read.format("com.databricks.spark.csv").
    option("header", "true").
    option("inferSchema", "true").
    load("wasb:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
    
  7. يمكنك بعد ذلك تشغيل القصاصات البرمجية، كما هو موضح أدناه، لعرض البيانات من إطار البيانات الذي أنشأته في الخطوة السابقة.

    df.show()
    
    df.select("Time").count()
    

(راجع أيضًا )

السيناريوهات

إنشاء التطبيقات وتشغيلها

الأدوات والملحقات

إدارة الموارد