Bagikan melalui


Tutorial: Membuat definisi pekerjaan Apache Spark di Synapse Studio

Tutorial ini menunjukkan cara menggunakan Synapse Studio untuk membuat definisi pekerjaan Apache Spark, dan kemudian mengirimkannya ke kumpulan Apache Spark tanpa server.

Tutorial ini mencakup tugas-tugas berikut:

  • Membuat definisi kerja Apache Spark untuk PySpark (Python)
  • Membuat definisi kerja Apache Spark untuk Spark (Scala)
  • Membuat definisi kerja Apache Spark untuk .NET Spark (C#/F#)
  • Membuat definisi kerja dengan mengimpor file JSON
  • Mengekspor file definisi kerja Apache Spark ke lokal
  • Mengirim definisi kerja Apache Spark sebagai tugas batch
  • Menambahkan definisi kerja Apache Spark ke dalam alur

Prasyarat

Sebelum Anda mulai dengan tutorial ini, pastikan untuk memenuhi persyaratan berikut:

  • Ruang kerja Azure Synapse Analytics. Untuk mengetahui petunjuknya, lihat Membuat ruang kerja Azure Synapse Analytics.
  • Kumpulan Apache Spark tanpa server.
  • Akun penyimpanan ADLS Gen2. Anda harus menjadi Kontributor Penyimpanan Data Blob dari sistem file ADLS Gen2 yang ingin Anda kerjakan. Jika tidak, Anda perlu menambahkan izin secara manual.
  • Jika Anda tidak ingin menggunakan penyimpanan default ruang kerja, tautkan akun penyimpanan ADLS Gen2 yang diperlukan di Synapse Studio.

Membuat definisi kerja Apache Spark untuk PySpark (Python)

Di bagian ini, Anda membuat definisi kerja Apache Spark untuk PySpark (Python).

  1. Buka Synapse Studio.

  2. Anda dapat membuka Contoh file untuk membuat definisi kerja Apache Spark untuk mengunduh file sampel untuk python.zip, lalu ekstrak zip paket terkompresi, dan mengekstrak file wordcount.py dan danshakespeare.txt.

    file sampel

  3. Pilih Data ->Linked ->Azure Data Lake Storage Gen2, dan unggah wordcount.py dan shakespeare.txt ke dalam sistem file ADLS Gen2 Anda.

    unggah file Python

  4. Pilih hub Kembangkan, pilih ikon '+' dan pilih definisi kerja Spark untuk membuat definisi kerja baru Spark.

    buat definisi baru untuk python

  5. Pilih PySpark (Python) dari daftar drop-down Bahasa di jendela utama definisi kerja Apache Spark.

    pilih python

  6. Isi informasi untuk definisi kerja Apache Spark.

    Properti Deskripsi
    Nama definisi kerja Masukkan nama untuk definisi pekerjaan Apache Spark Anda. Nama ini dapat diperbarui kapan saja hingga diterbitkan.
    Sampel: job definition sample
    Berkas definisi utama File utama yang digunakan untuk tugas tersebut. Pilih file PY dari penyimpanan Anda. Anda dapat memilih Unggah file untuk mengunggah file ke akun penyimpanan.
    Sampel: abfss://…/path/to/wordcount.py
    Argumen baris perintah Argumen opsional untuk pekerjaan.
    Sampel: abfss://…/path/to/shakespeare.txt abfss://…/path/to/result
    Catatan: Dua argumen untuk definisi kerja sampel dipisahkan oleh spasi.
    File referensi File tambahan yang digunakan untuk referensi dalam file definisi utama. Anda dapat memilih Unggah file untuk mengunggah file ke akun penyimpanan.
    Kumpulan Spark Pekerjaan akan diserahkan ke kumpulan Apache Spark yang dipilih.
    Versi Spark Versi Apache Spark yang dijalankan oleh kumpulan Apache Spark.
    Pelaksana Jumlah pelaksana yang akan diberikan dalam kumpulan Apache Spark yang ditentukan untuk pekerjaan tersebut.
    Ukuran Pelaksana Jumlah inti dan memori yang akan digunakan untuk pelaksana yang diberikan dalam kumpulan Apache Spark yang ditentukan untuk pekerjaan tersebut.
    Ukuran driver Jumlah inti dan memori yang akan digunakan untuk driver yang diberikan dalam kumpulan Apache Spark yang ditentukan untuk pekerjaan tersebut.
    Konfigurasi Apache Spark Sesuaikan konfigurasi dengan menambahkan properti di bawah ini. Jika Anda tidak menambahkan properti, Azure Synapse akan menggunakan nilai default jika berlaku.

    Tetapkan nilai definisi pekerjaan Spark untuk Python

  7. Pilih Terbitkan untuk menyimpan definisi kerja Apache Spark.

    terbitkan definisi py

Membuat definisi kerja Apache Spark untuk Apache Spark(Scala)

Dalam bagian ini, Anda membuat definisi kerja Apache Spark untuk Apache Spark(Scala).

  1. Buka Azure Synapse Studio.

  2. Anda dapat melihat Contoh file untuk membuat definisi kerja Apache Spark untuk mengunduh file sampel untuk scala.zip, lalu ekstrak zip paket terkompresi, dan mengekstrak file wordcount.jar dan shakespeare.txt.

    contoh file scala

  3. Pilih Data ->Linked ->Azure Data Lake Storage Gen2, dan unggah wordcount.jar dan shakespeare.txt ke dalam sistem file ADLS Gen2 Anda.

    siapkan struktur skalar

  4. Pilih hub Kembangkan, pilih ikon '+' dan pilih definisi kerja Spark untuk membuat definisi kerja baru Spark. (Gambar sampel sama dengan langkah 4 dari Buat definisi kerja Apache Spark (Python) untuk PySpark.)

  5. Pilih Spark(Scala) dari daftar drop-down Bahasa di jendela utama definisi kerja Apache Spark.

    pilih scala

  6. Isi informasi untuk definisi kerja Apache Spark. Anda dapat menyalin informasi sampel.

    Properti Deskripsi
    Nama definisi kerja Masukkan nama untuk definisi pekerjaan Apache Spark Anda. Nama ini dapat diperbarui kapan saja hingga diterbitkan.
    Sampel: scala
    Berkas definisi utama File utama yang digunakan untuk tugas tersebut. Pilih file JAR dari penyimpanan Anda. Anda dapat memilih Unggah file untuk mengunggah file ke akun penyimpanan.
    Sampel: abfss://…/path/to/wordcount.jar
    Nama kelas utama Pengidentifikasi yang sepenuhnya memenuhi syarat atau kelas utama yang ada dalam file definisi utama.
    Sampel: WordCount
    Argumen baris perintah Argumen opsional untuk pekerjaan.
    Sampel: abfss://…/path/to/shakespeare.txt abfss://…/path/to/result
    Catatan: Dua argumen untuk definisi kerja sampel dipisahkan oleh spasi.
    File referensi File tambahan yang digunakan untuk referensi dalam file definisi utama. Anda dapat memilih Unggah file untuk mengunggah file ke akun penyimpanan.
    Kumpulan Spark Pekerjaan akan diserahkan ke kumpulan Apache Spark yang dipilih.
    Versi Spark Versi Apache Spark yang dijalankan oleh kumpulan Apache Spark.
    Pelaksana Jumlah pelaksana yang akan diberikan dalam kumpulan Apache Spark yang ditentukan untuk pekerjaan tersebut.
    Ukuran Pelaksana Jumlah inti dan memori yang akan digunakan untuk pelaksana yang diberikan dalam kumpulan Apache Spark yang ditentukan untuk pekerjaan tersebut.
    Ukuran driver Jumlah inti dan memori yang akan digunakan untuk driver yang diberikan dalam kumpulan Apache Spark yang ditentukan untuk pekerjaan tersebut.
    Konfigurasi Apache Spark Sesuaikan konfigurasi dengan menambahkan properti di bawah ini. Jika Anda tidak menambahkan properti, Azure Synapse akan menggunakan nilai default jika berlaku.

    Tetapkan nilai definisi pekerjaan Spark untuk scala

  7. Pilih Terbitkan untuk menyimpan definisi kerja Apache Spark.

    terbitkan definisi scala

Buat definisi kerja Apache Spark untuk .NET Spark(C#/F#)

Dalam bagian ini, Anda membuat definisi kerja Apache Spark untuk .NET Spark (C#F#).

  1. Buka Azure Synapse Studio.

  2. Anda dapat melihat Contoh file untuk membuat definisi kerja Apache Spark untuk mengunduh file sampel untuk dotnet.zip, lalu ekstrak zip paket terkompresi, dan mengekstrak file wordcount.zip dan shakespeare.txt.

    contoh dotnet

  3. Pilih Data ->Linked ->Azure Data Lake Storage Gen2, dan unggah wordcount.zip dan shakespeare.txt ke dalam sistem file ADLS Gen2 Anda.

    siapkan struktur dotnet

  4. Pilih hub Kembangkan, pilih ikon '+' dan pilih definisi kerja Spark untuk membuat definisi kerja baru Spark. (Gambar sampel sama dengan langkah 4 dari Buat definisi kerja Apache Spark (Python) untuk PySpark.)

  5. Pilih .NET Spark(C#F#) dari daftar drop-down Bahasa di jendela utama Definisi Kerja Apache Spark.

    pilih dotnet

  6. Isi informasi untuk Definisi Kerja Apache Spark. Anda dapat menyalin informasi sampel.

    Properti Deskripsi
    Nama definisi kerja Masukkan nama untuk definisi pekerjaan Apache Spark Anda. Nama ini dapat diperbarui kapan saja hingga diterbitkan.
    Sampel: dotnet
    Berkas definisi utama File utama yang digunakan untuk tugas tersebut. Pilih file ZIP yang berisi aplikasi .NET for Apache Spark Anda (yaitu, file yang dapat dieksekusi utama, DLL yang berisi fungsi yang ditentukan pengguna, dan file lain yang diperlukan) dari penyimpanan Anda. Anda dapat memilih Unggah file untuk mengunggah file ke akun penyimpanan.
    Sampel: abfss://…/path/to/wordcount.zip
    Berkas utama yang dapat dieksekusi Berkas utama yang dapat dieksekusi dalam berkas ZIP definisi utama.
    Sampel: WordCount
    Argumen baris perintah Argumen opsional untuk pekerjaan.
    Sampel: abfss://…/path/to/shakespeare.txt abfss://…/path/to/result
    Catatan: Dua argumen untuk definisi kerja sampel dipisahkan oleh spasi.
    File referensi File tambahan yang diperlukan oleh simpul pekerja untuk menjalankan aplikasi .NET untuk Apache Spark yang tidak termasuk dalam file ZIP definisi utama (yaitu, jar dependen, DLL fungsi tambahan yang ditentukan pengguna, dan file konfigurasi lainnya). Anda dapat memilih Unggah file untuk mengunggah file ke akun penyimpanan.
    Kumpulan Spark Pekerjaan akan diserahkan ke kumpulan Apache Spark yang dipilih.
    Versi Spark Versi Apache Spark yang dijalankan oleh kumpulan Apache Spark.
    Pelaksana Jumlah pelaksana yang akan diberikan dalam kumpulan Apache Spark yang ditentukan untuk pekerjaan tersebut.
    Ukuran Pelaksana Jumlah inti dan memori yang akan digunakan untuk pelaksana yang diberikan dalam kumpulan Apache Spark yang ditentukan untuk pekerjaan tersebut.
    Ukuran driver Jumlah inti dan memori yang akan digunakan untuk driver yang diberikan dalam kumpulan Apache Spark yang ditentukan untuk pekerjaan tersebut.
    Konfigurasi Apache Spark Sesuaikan konfigurasi dengan menambahkan properti di bawah ini. Jika Anda tidak menambahkan properti, Azure Synapse akan menggunakan nilai default jika berlaku.

    Menetapkan nilai definisi pekerjaan Spark untuk dotnet

  7. Pilih Terbitkan untuk menyimpan definisi kerja Apache Spark.

    menerbitkan definisi dotnet

Catatan

Untuk konfigurasi Apache Spark, jika konfigurasi Apache Spark definisi pekerjaan Apache Spark tidak melakukan sesuatu yang istimewa, konfigurasi default akan digunakan saat menjalankan pekerjaan.

Membuat definisi pekerjaan Apache Spark dengan mengimpor file JSON

Anda dapat mengimpor file JSON lokal yang ada ke ruang kerja Azure Synapse dari menu Tindakan (...) dari definisi kerja Apache Spark Explorer untuk membuat definisi kerja Apache Spark baru.

membuat definisi impor

Definisi kerja Spark sepenuhnya kompatibel dengan Livy API. Anda dapat menambahkan parameter tambahan untuk properti Livy lainnya (Livy Docs - REST API (apache.org) dalam file JSON lokal. Anda juga dapat menentukan parameter terkait konfigurasi Spark di properti konfigurasi seperti yang ditunjukkan di bawah ini. Kemudian, Anda dapat mengimpor kembali file JSON untuk membuat definisi pekerjaan Apache Spark baru untuk pekerjaan batch Anda. Contoh JSON untuk impor definisi spark:

   {
  "targetBigDataPool": {
    "referenceName": "socdemolarge",
    "type": "BigDataPoolReference"
  },
  "requiredSparkVersion": "2.3",
  "language": "scala",
  "jobProperties": {
    "name": "robinSparkDefinitiontest",
    "file": "adl://socdemo-c14.azuredatalakestore.net/users/robinyao/wordcount.jar",
    "className": "WordCount",
    "args": [
      "adl://socdemo-c14.azuredatalakestore.net/users/robinyao/shakespeare.txt"
    ],
    "jars": [],
    "files": [],
    "conf": {
      "spark.dynamicAllocation.enabled": "false",
      "spark.dynamicAllocation.minExecutors": "2",
      "spark.dynamicAllocation.maxExecutors": "2"
    },
    "numExecutors": 2,
    "executorCores": 8,
    "executorMemory": "24g",
    "driverCores": 8,
    "driverMemory": "24g"
  }
}

properti livy lainnya

Mengekspor file definisi kerja Apache Spark yang ada

Anda dapat mengekspor file definisi pekerjaan Apache Spark yang ada ke lokal dari menu Tindakan (...) dari File Explorer. Anda dapat memperbarui lebih lanjut file JSON untuk properti Livy tambahan, dan mengimpornya kembali untuk membuat definisi pekerjaan baru jika perlu.

membuat definisi ekspor

membuat definisi ekspor 2

Mengirim definisi kerja Apache Spark sebagai tugas batch

Setelah membuat definisi pekerjaan Apache Spark, Anda dapat mengirimkannya ke kumpulan Apache Spark. Pastikan Anda menjadi Kontributor Penyimpanan Data Blob dari sistem file ADLS Gen2 yang ingin Anda kerjakan. Jika tidak, Anda perlu menambahkan izin secara manual.

Skenario 1: Kirim definisi pekerjaan Apache Spark

  1. Buka jendela definisi kerja Apache sparl dengan memilihnya.

    Buka definisi kerja spark untuk dikirimkan

  2. Pilih tombol Kirim untuk mengirimkan proyek Anda ke Kumpulan Apache Spark yang dipilih. Anda dapat memilih tab URL pemantauan Spark untuk melihat LogQuery dari aplikasi Apache Spark.

    Pilih tombol kirim untuk mengirimkan definisi kerja spark

    Kotak dialog Pengiriman Spark

Skenario 2: Lihat kemajuan kerja Apache Spark yang sedang berjalan

  1. Pilih Monitor, lalu pilih opsi aplikasi Apache Spark. Anda dapat menemukan aplikasi Apache Spark yang dikirimkan.

    Melihat aplikasi Spark

  2. Kemudian pilih aplikasi Apache Spark, jendela pekerjaan SparkJobDefinition ditampilkan. Anda dapat melihat progres eksekusi pekerjaan dari sini.

    Melihat aplikasi spark LogQuery

Skenario 3: Periksa file output

  1. Pilih Data ->Linked ->Azure Data Lake Storage Gen2 (hozhaobdbj), buka folder hasil yang dibuat sebelumnya, Anda dapat masuk ke folder hasil dan memeriksa apakah output dihasilkan.

    Melihat file output

Menambahkan definisi kerja Apache Spark ke dalam alur

Di bagian ini, Anda menambahkan definisi pekerjaan Apache Spark ke dalam alur.

  1. Membuka definisi kerja Apache Spark yang ada.

  2. Pilih ikon di kanan atas definisi kerja Apache Spark, pilih Alur yang Ada,atau Alur baru. Anda dapat merujuk ke halaman Alur untuk informasi lebih lanjut.

    menambahkan ke alur1

    menambahkan ke alur2

Langkah berikutnya

Selanjutnya Anda bisa menggunakan Azure Synapse Studio untuk membuat himpunan data Power BI dan mengelola data Power BI. Lanjutkan ke artikel Menautkan ruang kerja Power BI ke ruang kerja Synapse untuk mempelajari selengkapnya.