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:
- Kluster big data SQL Server. Lihat SQL Server Kluster Big Data.
- Visual Studio Code.
- Python dan ekstensi Python pada Visual Studio Code.
- Mono. Mono hanya diperlukan untuk Linux dan macOS.
- Siapkan lingkungan interaktif PySpark untuk Visual Studio Code.
- Direktori lokal bernama SQLBDCexample. Artikel ini menggunakan C:\SQLBDC\SQLBDCexample.
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:
Buka Visual Studio Code.
Dari bilah menu, navigasikan ke Lihat>Ekstensi.
Di kotak pencarian, masukkan Spark & Apache Hive.
Pilih Spark & Hive Tools, yang diterbitkan oleh Microsoft, dari hasil pencarian, lalu pilih Instal.

Muat ulang saat diperlukan.
Buka folder kerja
Selesaikan langkah-langkah berikut untuk membuka folder kerja, dan buat file di Visual Studio Code:
Dari bilah menu, navigasikan ke Folder Buka File>...>C:\SQLBDC\SQLBDCexample, lalu pilih tombol Pilih Folder. Folder muncul dalam tampilan Explorer di sebelah kiri.
Dari tampilan Explorer , pilih folder, SQLBDCexample, lalu ikon File Baru di samping folder kerja.

Beri nama file baru dengan
.pyekstensi file (skrip Spark). Contoh ini menggunakan HelloWorld.py.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))
Menautkan kluster big data SQL Server
Sebelum dapat mengirimkan skrip ke kluster dari Visual Studio Code, Anda perlu menautkan kluster big data SQL Server.
Dari bilah menu navigasi ke Lihat>Palet Perintah... , dan masukkan Spark / Apache Hive: Tautkan Kluster.

Pilih jenis kluster tertaut SQL Server Big Data.
Masukkan SQL Server titik akhir Big Data.
Masukkan SQL Server nama pengguna kluster big data.
Masukkan kata sandi untuk admin pengguna.
Atur nama tampilan kluster big data (opsional).
Mencantumkan kluster, tinjau tampilan OUTPUT untuk verifikasi.
Daftar kluster
Dari bilah menu navigasi ke Lihat>Palet Perintah..., dan masukkan Spark / Apache Hive: Daftar Kluster.
Tinjau tampilan OUTPUT. Tampilan akan menampilkan kluster tertaut Anda.

Mengatur kluster default
Re-Open folder SQLBDCexample yang dibuat sebelumnya jika ditutup.
Pilih file HelloWorld.py dibuat sebelumnya dan file akan terbuka di editor skrip.
Tautkan kluster jika Anda belum melakukannya.
Klik kanan editor skrip, dan pilih Spark / Apache Hive: Atur Kluster Default.
Pilih kluster sebagai kluster default untuk file skrip saat ini. Alat secara otomatis memperbarui file konfigurasi . VSCode\settings.json.

Kirim kueri PySpark interaktif
Anda dapat mengirimkan kueri PySpark interaktif dengan mengikuti langkah-langkah di bawah ini:
Buka kembali folder SQLBDCexample yang dibuat sebelumnya jika ditutup.
Pilih file HelloWorld.py dibuat sebelumnya dan file akan terbuka di editor skrip.
Tautkan kluster jika Anda belum melakukannya.
Pilih semua kode dan klik kanan editor skrip, pilih Spark: PySpark Interactive untuk mengirimkan kueri, atau gunakan pintasan Ctrl + Alt + I.

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.

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

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

Kirim pekerjaan batch PySpark
Buka kembali folder SQLBDCexample yang dibuat sebelumnya jika ditutup.
Pilih file HelloWorld.py dibuat sebelumnya dan file akan terbuka di editor skrip.
Tautkan kluster jika Anda belum melakukannya.
Klik kanan editor skrip, lalu pilih Spark: PySpark Batch, atau gunakan pintasan Ctrl + Alt + H.
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.

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
- Dari bilah menu, arahkan ke >Pengaturan Preferensi>File.
- Dalam kotak teks Pengaturan pencarian masukkan Pengiriman Pekerjaan HDInsight: Livy Conf.
- 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:

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.

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.

Batalkan tautan kluster
Dari bilah menu navigasi ke Lihat>Palet Perintah..., lalu masukkan Spark / Hive: Batalkan tautan Kluster.
Pilih kluster untuk membatalkan tautan.
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.