Bagikan melalui


Menggunakan sparklyr di kluster big data SQL Server

Berlaku untuk: SQL Server 2019 (15.x)

Penting

Add-on Kluster Big Data Microsoft SQL Server 2019 akan dihentikan. Dukungan untuk SQL Server 2019 Kluster Big Data akan berakhir pada 28 Februari 2025. Semua pengguna SQL Server 2019 yang ada dengan Jaminan Perangkat Lunak akan didukung sepenuhnya pada platform dan perangkat lunak akan terus dipertahankan melalui pembaruan kumulatif SQL Server hingga saat itu. Untuk informasi selengkapnya, lihat posting blog pengumuman dan Opsi big data di platform Microsoft SQL Server.

Sparklyr menyediakan antarmuka R untuk Apache Spark. Sparklyr adalah cara populer bagi pengembang R untuk menggunakan Spark. Artikel ini menjelaskan cara menggunakan sparklyr dalam Kluster Big Data SQL Server 2019 menggunakan RStudio.

Prasyarat

Menginstal R dan RStudio Desktop

Instal dan konfigurasikan RStudio Desktop dengan langkah-langkah berikut:

  1. Jika Anda menjalankan klien Windows, unduh dan instal R 3.6.3. Selain itu, unduh dan instal RTools 3.5. Pastikan untuk mengonfigurasi folder biner RTools pada variabel lingkungan PATH Anda.

    Peringatan

    R versi 4.x dan versi sparklyr lainnya yang ditentukan di bawah ini diverifikasi untuk tidak berfungsi pada SQL Server Kluster Big Data CU13.

  2. Unduh dan instal RStudio Desktop. Secara opsional, semua sampel berfungsi pada shell R.

  3. Setelah penginstalan selesai, jalankan perintah berikut di dalam shell RStudio Desktop atau R untuk menginstal paket yang diperlukan. Ketika diminta, konfirmasikan untuk mengkompilasi paket dari sumber.

install.packages("devtools")
devtools::install_github('rstudio/sparklyr', ref = 'v1.7.0', upgrade = 'always', repos = 'https://cran.microsoft.com/snapshot/2021-06-11/')

Menyambungkan ke Spark dalam kluster big data

Anda dapat menggunakan sparklyr untuk terhubung dari klien ke kluster big data menggunakan Livy dan gateway HDFS/Spark.

Di RStudio, buat skrip R dan sambungkan ke Spark seperti dalam contoh berikut:

Tip

<AZDATA_USERNAME> Untuk nilai dan <AZDATA_PASSWORD> , gunakan nama pengguna dan kata sandi yang Anda tetapkan selama penyebaran kluster big data.

Dimulai dengan SQL Server 2019 (15.x) CU 5, saat Anda menyebarkan kluster baru dengan autentikasi dasar semua titik akhir termasuk penggunaan AZDATA_USERNAME gateway dan AZDATA_PASSWORD. Titik akhir pada kluster yang ditingkatkan ke CU 5 terus digunakan root sebagai nama pengguna untuk menyambungkan ke titik akhir gateway. Perubahan ini tidak berlaku untuk penyebaran menggunakan autentikasi Direktori Aktif. Lihat Kredensial untuk mengakses layanan melalui titik akhir gateway dalam catatan rilis.

<IP> Untuk nilai dan <PORT> , lihat dokumentasi tentang menyambungkan ke kluster big data.

library(sparklyr)
library(dplyr)
library(DBI)

#Specify the Knox username and password
config <- livy_config(user = "<AZDATA_USERNAME>", password = "<AZDATA_PASSWORD>")

httr::set_config(httr::config(ssl_verifypeer = 0L, ssl_verifyhost = 0L))

sc <- spark_connect(master = "https://<IP>:<PORT>/gateway/default/livy/v1",
                    method = "livy",
                    config = config)

Menjalankan kueri sparklyr

Setelah menyambungkan ke Spark, Anda dapat menjalankan sparklyr. Contoh berikut melakukan kueri pada himpunan iris data menggunakan sparklyr:

iris_tbl <- copy_to(sc, iris)

iris_count <- dbGetQuery(sc, "SELECT COUNT(*) FROM iris")

iris_count

Komputasi R terdistribusi

Salah satu fitur sparklyr adalah kemampuan untuk mendistribusikan komputasi R dengan spark_apply.

Karena kluster big data menggunakan koneksi Livy, Anda harus mengatur packages = FALSE dalam panggilan ke spark_apply. Untuk informasi selengkapnya, lihat bagian Livy dari dokumentasi sparklyr tentang komputasi R terdistribusi. Dengan pengaturan ini, Anda hanya dapat menggunakan paket R yang sudah diinstal pada kluster Spark Anda dalam kode R yang diteruskan ke spark_apply. Contoh berikut menunjukkan fungsionalitas ini:

iris_tbl %>% spark_apply(function(e) nrow(e), names = "nrow", group_by = "Species", packages = FALSE)

Langkah berikutnya

Untuk informasi selengkapnya tentang kluster big data, lihat Apa itu Kluster Big Data SQL Server 2019.