Mengirimkan pekerjaan Spark di SQL Server kluster big data di Visual Studio Code

Penting

Add-on Kluster Big Data Microsoft SQL Server 2019 akan dihentikan. Dukungan untuk Kluster Big Data SQL Server 2019 akan berakhir pada 28 Februari 2025. Untuk informasi selengkapnya, lihat Opsi big data di platform Microsoft SQL Server.

Pelajari cara menggunakan Spark & Hive Tools untuk Visual Studio Code membuat dan mengirimkan skrip PySpark untuk Apache Spark, pertama-tama kita akan menjelaskan cara menginstal alat Spark & Hive di Visual Studio Code lalu kita akan membahas cara mengirimkan pekerjaan ke Spark.

Spark & Hive Tools dapat diinstal pada platform yang didukung oleh Visual Studio Code, yang mencakup Windows, Linux, dan macOS. Di bawah ini Anda akan menemukan prasyarat untuk platform yang berbeda.

Prasyarat

Item berikut ini diperlukan untuk menyelesaikan langkah-langkah dalam artikel ini:

Memasang Alat Spark & Apache Hive

Setelah menyelesaikan prasyarat, Anda dapat menginstal Spark & Hive Tools untuk Visual Studio Code. Selesaikan langkah-langkah berikut untuk menginstal Spark & Hive Tools:

  1. Buka Visual Studio Code.

  2. Dari bilah menu, navigasikan ke Lihat>Ekstensi.

  3. Di kotak pencarian, masukkan Spark & Apache Hive.

  4. Pilih Spark & Hive Tools, yang diterbitkan oleh Microsoft, dari hasil pencarian, lalu pilih Instal.

    Install Extension

  5. Muat ulang saat diperlukan.

Buka folder kerja

Selesaikan langkah-langkah berikut untuk membuka folder kerja, dan buat file di Visual Studio Code:

  1. Dari bilah menu, navigasikan ke Folder Buka File>...>C:\SQLBDC\SQLBDCexample, lalu pilih tombol Pilih Folder. Folder muncul dalam tampilan Explorer di sebelah kiri.

  2. Dari tampilan Explorer , pilih folder, SQLBDCexample, lalu ikon File Baru di samping folder kerja.

    New file

  3. Beri nama file baru dengan .py ekstensi file (skrip Spark). Contoh ini menggunakan HelloWorld.py.

  4. Salin dan tempel kode berikut ke dalam file skrip:

    import sys
    from operator import add
    from pyspark.sql import SparkSession, Row
    
    spark = SparkSession\
       .builder\
       .appName("PythonWordCount")\
       .getOrCreate()
    
    data = [Row(col1='pyspark and spark', col2=1), Row(col1='pyspark', col2=2), Row(col1='spark vs hadoop', col2=2), Row(col1='spark', col2=2), Row(col1='hadoop', col2=2)]
    df = spark.createDataFrame(data)
    lines = df.rdd.map(lambda r: r[0])
    
    counters = lines.flatMap(lambda x: x.split(' ')) \
       .map(lambda x: (x, 1)) \
       .reduceByKey(add)
    
    output = counters.collect()
    sortedCollection = sorted(output, key = lambda r: r[1], reverse = True)
    
    for (word, count) in sortedCollection:
       print("%s: %i" % (word, count))
    

Sebelum dapat mengirimkan skrip ke kluster dari Visual Studio Code, Anda perlu menautkan kluster big data SQL Server.

  1. Dari bilah menu navigasi ke Lihat>Palet Perintah... , dan masukkan Spark / Apache Hive: Tautkan Kluster.

    link cluster command

  2. Pilih jenis kluster tertaut SQL Server Big Data.

  3. Masukkan SQL Server titik akhir Big Data.

  4. Masukkan SQL Server nama pengguna kluster big data.

  5. Masukkan kata sandi untuk admin pengguna.

  6. Atur nama tampilan kluster big data (opsional).

  7. Mencantumkan kluster, tinjau tampilan OUTPUT untuk verifikasi.

Daftar kluster

  1. Dari bilah menu navigasi ke Lihat>Palet Perintah..., dan masukkan Spark / Apache Hive: Daftar Kluster.

  2. Tinjau tampilan OUTPUT. Tampilan akan menampilkan kluster tertaut Anda.

    Set a default cluster configuration

Mengatur kluster default

  1. Re-Open folder SQLBDCexample yang dibuat sebelumnya jika ditutup.

  2. Pilih file HelloWorld.py dibuat sebelumnya dan file akan terbuka di editor skrip.

  3. Tautkan kluster jika Anda belum melakukannya.

  4. Klik kanan editor skrip, dan pilih Spark / Apache Hive: Atur Kluster Default.

  5. Pilih kluster sebagai kluster default untuk file skrip saat ini. Alat secara otomatis memperbarui file konfigurasi . VSCode\settings.json.

    Set default cluster configuration

Kirim kueri PySpark interaktif

Anda dapat mengirimkan kueri PySpark interaktif dengan mengikuti langkah-langkah di bawah ini:

  1. Buka kembali folder SQLBDCexample yang dibuat sebelumnya jika ditutup.

  2. Pilih file HelloWorld.py dibuat sebelumnya dan file akan terbuka di editor skrip.

  3. Tautkan kluster jika Anda belum melakukannya.

  4. Pilih semua kode dan klik kanan editor skrip, pilih Spark: PySpark Interactive untuk mengirimkan kueri, atau gunakan pintasan Ctrl + Alt + I.

    pyspark interactive context menu

  5. Pilih kluster jika Anda belum menentukan kluster default. Setelah beberapa saat, hasil Interaktif Python muncul di tab baru. Alat ini juga memungkinkan Anda mengirimkan blok kode alih-alih seluruh file skrip menggunakan menu konteks.

    pyspark interactive python interactive window

  6. Masukkan "%%info", lalu tekan Shift + Enter untuk melihat informasi pekerjaan. (Opsional)

    view job information

    Catatan

    Ketika Ekstensi Python Diaktifkan tidak dicentang di pengaturan (Pengaturan default dicentang), hasil interaksi pyspark yang dikirimkan akan menggunakan jendela lama.

    pyspark interactive python extension disabled

Kirim pekerjaan batch PySpark

  1. Buka kembali folder SQLBDCexample yang dibuat sebelumnya jika ditutup.

  2. Pilih file HelloWorld.py dibuat sebelumnya dan file akan terbuka di editor skrip.

  3. Tautkan kluster jika Anda belum melakukannya.

  4. Klik kanan editor skrip, lalu pilih Spark: PySpark Batch, atau gunakan pintasan Ctrl + Alt + H.

  5. Pilih kluster jika Anda belum menentukan kluster default. Setelah Anda mengirimkan pekerjaan Python, log pengiriman muncul di jendela OUTPUT di Visual Studio Code. URL UI Spark dan URL UI Yarn juga ditampilkan. Anda dapat membuka URL di browser web untuk melacak status pekerjaan.

    Submit Python job result

Konfigurasi Apache Livy

Konfigurasi Apache Livy didukung, dapat diatur di . VSCode\settings.json di folder ruang kerja. Saat ini, konfigurasi Livy hanya mendukung skrip Python. Detail selengkapnya, lihat Livy README.

Bagaimana memicu konfigurasi Livy

Metode 1

  1. Dari bilah menu, arahkan ke >Pengaturan Preferensi>File.
  2. Dalam kotak teks Pengaturan pencarian masukkan Pengiriman Pekerjaan HDInsight: Livy Conf.
  3. Pilih Edit di settings.json untuk hasil pencarian yang relevan.

Metode 2

Kirim file, perhatikan .vscode bahwa folder ditambahkan secara otomatis ke folder kerja. Anda dapat menemukan konfigurasi Livy dengan memilih settings.json di bawah .vscode.

Pengaturan proyek:

Livy configuration

Catatan

Untuk pengaturan driverMemory dan executorMemory, atur nilai dengan unit, misalnya 1gb atau 1024mb.

Konfigurasi Livy yang didukung

POST /batch

Badan permintaan

nama deskripsi jenis
file File yang berisi aplikasi yang akan dijalankan jalur (diperlukan)
proxyUser Pengguna untuk meniru ketika menjalankan pekerjaan string
className Kelas utama Java/Spark aplikasi string
args Argumen baris perintah untuk aplikasi daftar string
jar jar yang akan digunakan dalam sesi ini Daftar string
pyFile File Python yang akan digunakan dalam sesi ini Daftar string
file file yang akan digunakan dalam sesi ini Daftar string
driverMemory Jumlah memori yang digunakan untuk proses driver string
driverCores Jumlah inti yang digunakan untuk proses driver int
executorMemory Jumlah memori yang digunakan per proses pelaksana string
executorCores Jumlah inti yang digunakan untuk setiap pelaksana int
NumExecutors Jumlah pelaksana yang akan diluncurkan untuk sesi ini int
arsip Arsip yang akan digunakan dalam sesi ini Daftar string
antrean Nama antrean YARN yang dikirimkan string
nama Nama sesi ini string
conf Properti konfigurasi spark Peta key=val
:- :- :-

Isi Respons

Objek batch yang dibuat.

nama deskripsi jenis
id Id sesi int
appId Id aplikasi sesi ini Untai(karakter)
appInfo Info aplikasi terperinci Peta key=val
log Baris log daftar string
status Status batch string
:- :- :-

Catatan

Konfigurasi Livy yang ditetapkan akan ditampilkan di panel output saat mengirimkan skrip.

Fitur tambahan

Spark & Hive untuk Visual Studio Code mendukung fitur-fitur berikut:

  • IntelliSense lengkapi otomatis. Saran muncul untuk kata kunci, metode, variabel, dan lainnya. Ikon yang berbeda mewakili berbagai jenis objek.

    Spark & Hive Tools for Visual Studio Code IntelliSense object types

  • Penanda kesalahan IntelliSense. Layanan bahasa menggarisbawahi kesalahan pengeditan untuk skrip Apache Hive.

  • Sorotan sintaks. Layanan bahasa menggunakan warna yang berbeda untuk membedakan variabel, kata kunci, jenis data, fungsi, dan banyak lagi.

    Spark & Hive Tools for Visual Studio Code syntax highlights

  1. Dari bilah menu navigasi ke Lihat>Palet Perintah..., lalu masukkan Spark / Hive: Batalkan tautan Kluster.

  2. Pilih kluster untuk membatalkan tautan.

  3. Tinjau tampilan OUTPUT untuk verifikasi.

Langkah berikutnya

Untuk informasi selengkapnya tentang SQL Server kluster big data dan skenario terkait, Lihat SQL Server Kluster Big Data.