HDInsight üzerinde Apache Spark kümelerinde Jupyter Notebooks ile dış paketleri kullanma

HDInsight üzerinde Apache Spark kümesinde Jupyter Notebook'u, kümede kullanıma alınmamış dış, topluluk tarafından katkıda bulunan Apache maven paketlerini kullanacak şekilde yapılandırmayı öğrenin.

Kullanılabilir paketlerin tam listesi için Maven deposunda arama yapabilirsiniz. Diğer kaynaklardan kullanılabilir paketlerin listesini de alabilirsiniz. Örneğin, topluluk tarafından katkıda bulunulmuş paketlerin tam listesi Spark Packages'da bulunabilir.

Bu makalede, Spark-CSV paketini Jupyter Notebook ile kullanmayı öğreneceksiniz.

Önkoşullar

Jupyter Notebooks ile dış paketleri kullanma

  1. https://CLUSTERNAME.azurehdinsight.net/jupyter Spark kümenizin adı olan yere CLUSTERNAME gidin.

  2. Yeni bir not defteri oluşturun. Yeni'yi ve ardından Spark'ı seçin.

    Create a new Spark Jupyter Notebook.

  3. Yeni bir not defteri oluşturulur ve Untitled.pynb adı ile açılır. Üst kısımdaki not defteri adını seçin ve kolay bir ad girin.

    Provide a name for the notebook.

  4. Not defterini bir dış paket kullanacak şekilde yapılandırmak için bu sihri kullanacaksınız %%configure . Dış paketlerin kullanıldığı not defterlerinde, ilk kod hücresinde sihri çağırdığınızdan %%configure emin olun. Bu, çekirdeğin oturum başlamadan önce paketi kullanacak şekilde yapılandırılmasını sağlar.

    Önemli

    İlk hücrede çekirdeği yapılandırmayı unutursanız parametresiyle komutunu -f kullanabilirsiniz%%configure, ancak bu işlem oturumu yeniden başlatır ve tüm ilerlemeler kaybolur.

    HDInsight sürümü Command
    HDInsight 3.5 ve HDInsight 3.6 için %%configure
    { "conf": {"spark.jars.packages": "com.databricks:spark-csv_2.11:1.5.0" }}
    HDInsight 3.3 ve HDInsight 3.4 için %%configure
    { "packages":["com.databricks:spark-csv_2.10:1.4.0"] }
  5. Yukarıdaki kod parçacığı Maven Central Repository'deki dış paket için maven koordinatlarını bekler. Bu kod parçacığında spark-csv com.databricks:spark-csv_2.11:1.5.0 paketi için maven koordinatı yer alır. Bir paket için koordinatları şöyle oluşturursunuz.

    a. Maven Deposunda paketi bulun. Bu makale için spark-csv kullanırız.

    b. Depodan GroupId, ArtifactId ve Version değerlerini toplayın. Topladığınız değerlerin kümenizle eşleştiğinden emin olun. Bu durumda Scala 2.11 ve Spark 1.5.0 paketi kullanıyoruz, ancak kümenizdeki uygun Scala veya Spark sürümü için farklı sürümler seçmeniz gerekebilir. Spark Jupyter çekirdeğinde veya Spark göndermede komutunu çalıştırarak scala.util.Properties.versionString kümenizdeki Scala sürümünü öğrenebilirsiniz. Jupyter Notebooks üzerinde çalıştırarak sc.version kümenizdeki Spark sürümünü öğrenebilirsiniz.

    Use external packages with Jupyter Notebook.

    c. Üç değeri iki nokta üst üste (:) ile ayırarak birleştirir.

    com.databricks:spark-csv_2.11:1.5.0
    
  6. Kod hücresini sihirle %%configure çalıştırın. Bu işlem, sağladığınız paketi kullanmak için temel livy oturumunu yapılandıracaktır. Not defterindeki sonraki hücrelerde, aşağıda gösterildiği gibi paketi kullanabilirsiniz.

    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 ve altı için aşağıdaki kod parçacığını kullanmanız gerekir.

    val df = sqlContext.read.format("com.databricks.spark.csv").
    option("header", "true").
    option("inferSchema", "true").
    load("wasb:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
    
  7. Ardından kod parçacıklarını aşağıda gösterildiği gibi çalıştırarak önceki adımda oluşturduğunuz veri çerçevesindeki verileri görüntüleyebilirsiniz.

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

Ayrıca bkz.

Senaryolar

Uygulamaları oluşturma ve çalıştırma

Araçlar ve uzantılar

Kaynakları yönetme