Bagikan melalui


Menggunakan paket eksternal dengan notebook Jupyter di kluster Apache Spark pada Microsoft Azure HDInsight

Pelajari cara mengonfigurasi Jupyter Notebook di kluster Apache Spark di Microsoft Azure HDInsight untuk menggunakan paket maven Apache eksternal yang disumbangkan komunitas yang tidak disertakan di luar kotak dalam kluster.

Anda dapat mencari repositori Maven untuk daftar lengkap paket yang tersedia. Anda juga bisa mendapatkan daftar paket yang tersedia dari sumber lain. Misalnya, daftar lengkap paket yang berkontribusi komunitas tersedia di Paket Spark.

Dalam artikel ini, Anda akan mempelajari cara menggunakan paket spark-csv dengan Jupyter Notebook.

Prasyarat

Menggunakan paket eksternal dengan Jupyter Notebooks

  1. Menavigasi ke https://CLUSTERNAME.azurehdinsight.net/jupyter tempat CLUSTERNAME nama klaster Spark Anda.

  2. Buat notebook baru. Pilih Baru, lalu pilih Spark.

    Create a new Spark Jupyter Notebook.

  3. Notebook baru dibuat dan dibuka dengan nama Untitled.pynb. Pilih nama notebook di bagian atas, dan masukkan nama yang bersahabat.

    Provide a name for the notebook.

  4. Anda akan menggunakan %%configure magic untuk mengonfigurasi buku catatan untuk menggunakan paket eksternal. Di buku catatan yang menggunakan paket eksternal, pastikan Anda memanggil %%configure magic di sel kode pertama. Ini memastikan bahwa kernel dikonfigurasi untuk menggunakan paket sebelum sesi dimulai.

    Penting

    Jika Anda lupa mengonfigurasi kernel di sel pertama, Anda dapat menggunakan %%configure dengan parameter -f, tetapi itu akan memulai ulang sesi dan semua kemajuan akan hilang.

    Versi Azure HDInsight Perintah
    Untuk Microsoft Azure HDInsight 3.5 dan Microsoft Azure HDInsight 3.6 %%configure
    { "conf": {"spark.jars.packages": "com.databricks:spark-csv_2.11:1.5.0" }}
    Untuk Microsoft Azure HDInsight 3.3 dan Microsoft Azure HDInsight 3.4 %%configure
    { "packages":["com.databricks:spark-csv_2.10:1.4.0"] }
  5. Cuplikan di atas mengharapkan koordinat maven untuk paket eksternal di Repositori Pusat Maven. Dalam cuplikan ini, com.databricks:spark-csv_2.11:1.5.0 adalah koordinat maven untuk paket spark-csv. Begini caramu membuat koordinat untuk sebuah paket.

    a. Cari paket di Repositori Maven. Untuk artikel ini, kami menggunakan spark-csv.

    b. Dari repositori, kumpulkan nilai untuk GroupId, ArtifactId, dan Versi. Pastikan nilai yang Anda kumpulkan cocok dengan kluster Anda. Dalam hal ini, kami menggunakan paket Scala 2.11 dan Spark 1.5.0, tetapi Anda mungkin perlu memilih versi yang berbeda untuk versi Scala atau Spark yang sesuai di kluster Anda. Anda dapat mengetahui versi Scala pada kluster Anda dengan berjalan scala.util.Properties.versionString pada kernel Spark Jupyter atau di Apache Spark submit. Anda dapat mengetahui versi Spark di kluster Anda dengan berjalan sc.version di Jupyter Notebooks.

    Use external packages with Jupyter Notebook.

    c. Gabungkan tiga nilai, yang dipisahkan oleh titik dua (:).

    com.databricks:spark-csv_2.11:1.5.0
    
  6. Menjalankan sel kode dengan %%configure sihir. Hal ini akan mengonfigurasi sesi Apache Livy yang mendasarinya untuk menggunakan paket yang Anda berikan. Di sel berikutnya di buku catatan, Sekarang Anda bisa menggunakan paket tersebut, seperti yang diperlihatkan di bawah ini.

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

    Untuk Microsoft Azure HDInsight 3.4 ke bawah, Anda harus menggunakan cuplikan berikut.

    val df = sqlContext.read.format("com.databricks.spark.csv").
    option("header", "true").
    option("inferSchema", "true").
    load("wasb:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
    
  7. Anda kemudian dapat menjalankan cuplikan, seperti yang diperlihatkan di bawah ini, untuk menampilkan data dari dataframe yang Anda buat di langkah sebelumnya.

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

Lihat juga

Skenario

Membuat dan menjalankan aplikasi

Alat dan ekstensi

Mengelola sumber daya