Menginstal paket R dengan sqlmlutils
Berlaku untuk: SQL Server 2019 (15.x) Azure SQL Managed Instance
Artikel ini menjelaskan cara menggunakan fungsi dalam paket sqlmlutils untuk menginstal paket R ke instans Layanan Pembelajaran Mesin di SQL Server dan di Kluster Big Data. Paket yang Anda instal dapat digunakan dalam skrip R yang berjalan dalam database menggunakan pernyataan T-SQL sp_execute_external_script .
Catatan
Paket sqlmlutils yang dijelaskan dalam artikel ini digunakan untuk menambahkan paket R ke SQL Server 2019 atau yang lebih baru. Untuk SQL Server 2017 dan yang lebih lama, lihat Menginstal paket dengan alat R.
Artikel ini menjelaskan cara menggunakan fungsi dalam paket sqlmlutils untuk menginstal paket R ke instans Azure SQL Managed Instance Pembelajaran Mesin Services. Paket yang Anda instal dapat digunakan dalam skrip R yang berjalan dalam database menggunakan pernyataan T-SQL sp_execute_external_script .
Catatan
Anda tidak dapat memperbarui atau menghapus paket yang telah diinstal sebelumnya pada instans SQL Managed Instance Pembelajaran Mesin Services. Untuk melihat daftar paket yang saat ini diinstal, lihat Mencantumkan semua paket R yang diinstal.
Prasyarat
Instal R dan RStudio Desktop di komputer klien yang Anda gunakan untuk menyambungkan ke SQL Server. Anda dapat menggunakan IDE R apa pun untuk menjalankan skrip, tetapi artikel ini mengasumsikan RStudio.
Versi R pada komputer klien harus cocok dengan versi R di server, dan paket yang Anda instal harus sesuai dengan versi R yang Anda miliki. Untuk informasi tentang versi R mana yang disertakan dengan setiap versi SQL Server, lihat versi Python dan R.
Untuk memverifikasi versi R pada SQL Server tertentu, gunakan perintah T-SQL berikut.
EXECUTE sp_execute_external_script @language = N'R' , @script = N'print(R.version)'
Instal Azure Data Studio di komputer klien yang Anda gunakan untuk menyambungkan ke SQL Server. Anda bisa menggunakan manajemen database atau alat kueri lainnya, tetapi artikel ini mengasumsikan Azure Data Studio.
Pertimbangan lain
Penginstalan paket khusus untuk instans SQL, database, dan pengguna yang Anda tentukan dalam informasi koneksi yang Anda berikan ke sqlmlutils. Untuk menggunakan paket dalam beberapa instans atau database SQL, atau untuk pengguna yang berbeda, Anda harus menginstal paket untuk masing-masing instans. Pengecualiannya adalah bahwa jika paket diinstal oleh anggota
dbo
, paket bersifat publik dan dibagikan dengan semua pengguna. Jika pengguna menginstal versi paket publik yang lebih baru, paket publik tidak terpengaruh tetapi pengguna tersebut akan memiliki akses ke versi yang lebih baru.Skrip R yang berjalan di SQL Server hanya dapat menggunakan paket yang diinstal di pustaka instans default. SQL Server tidak dapat memuat paket dari pustaka eksternal, meskipun pustaka tersebut berada di komputer yang sama. Ini termasuk pustaka R yang diinstal dengan produk Microsoft lainnya.
Pada lingkungan SQL Server yang diperkeras, Anda mungkin ingin menghindari hal berikut:
- Paket yang memerlukan akses jaringan
- Paket yang memerlukan akses sistem file yang ditingkatkan
- Paket yang digunakan untuk pengembangan web atau tugas lain yang tidak menguntungkan dengan berjalan di dalam SQL Server
Menginstal sqlmlutils di komputer klien
Untuk menggunakan sqlmlutils, Anda harus menginstalnya terlebih dahulu di komputer klien yang Anda gunakan untuk menyambungkan ke SQL Server.
Paket sqlmlutils tergantung pada paket odbc , dan odbc tergantung pada sejumlah paket lainnya. Prosedur berikut menginstal semua paket ini dalam urutan yang benar.
Menginstal sqlmlutils secara online
Jika komputer klien memiliki akses Internet, Anda dapat mengunduh dan menginstal sqlmlutils dan paket dependennya secara online.
Unduh file sqlmlutils terbaru (
.zip
untuk Windows,.tar.gz
untuk Linux) dari https://github.com/microsoft/sqlmlutils/releases ke komputer klien. Jangan perluas file.Buka Prompt Perintah dan jalankan perintah berikut untuk menginstal paket odbc dan sqlmlutils. Ganti jalur ke file sqlmlutils yang Anda unduh. Paket odbc ditemukan secara online dan terinstal.
R.exe -e "install.packages('odbc', type='binary')" R.exe CMD INSTALL sqlmlutils_1.0.0.zip
R.exe -e "install.packages('odbc')" R.exe CMD INSTALL sqlmlutils_1.0.0.tar.gz
Menginstal sqlmlutils offline
Jika komputer klien tidak memiliki koneksi Internet, Anda perlu mengunduh paket odbc dan sqlmlutils terlebih dahulu menggunakan komputer yang memang memiliki akses Internet. Anda kemudian dapat menyalin file ke folder di komputer klien dan menginstal paket secara offline.
Paket odbc memiliki sejumlah paket dependen, dan mengidentifikasi semua dependensi untuk paket menjadi rumit. Kami menyarankan agar Anda menggunakan miniCRAN untuk membuat folder repositori lokal untuk paket yang menyertakan semua paket dependen. Untuk informasi selengkapnya, lihat Membuat repositori paket R lokal menggunakan miniCRAN.
Paket sqlmlutils terdiri dari satu file yang dapat Anda salin ke komputer klien dan menginstal.
Di komputer dengan akses Internet:
Pasang miniCRAN. Lihat Menginstal miniCRAN untuk detailnya.
Di RStudio, jalankan skrip R berikut untuk membuat repositori lokal paket odbc. Contoh ini mengasumsikan repositori akan dibuat di folder
odbc
.library("miniCRAN") CRAN_mirror <- c(CRAN = "https://cran.microsoft.com") local_repo <- "odbc" pkgs_needed <- "odbc" pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "win.binary", Rversion = "3.5");
library("miniCRAN") CRAN_mirror <- c(CRAN = "https://cran.microsoft.com") local_repo <- "odbc" pkgs_needed <- "odbc" pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "source", Rversion = "3.5");
Untuk nilainya
Rversion
, gunakan versi R yang diinstal di SQL Server. Untuk memverifikasi versi yang diinstal, gunakan perintah T-SQL berikut.EXECUTE sp_execute_external_script @language = N'R' , @script = N'print(R.version)'
Unduh file sqlmlutils terbaru (
.zip
untuk Windows,.tar.gz
untuk Linux) dari https://github.com/microsoft/sqlmlutils/releases. Jangan perluas file.Salin seluruh folder repositori odbc dan file sqlmlutils ke komputer klien.
Pada komputer klien yang Anda gunakan untuk menyambungkan ke SQL Server:
Buka prompt perintah.
Jalankan perintah berikut untuk menginstal odbc lalu sqlmlutils. Ganti jalur lengkap ke folder repositori odbc dan file sqlmlutils yang Anda salin ke komputer ini.
R.exe -e "install.packages('odbc', repos='odbc')" R.exe CMD INSTALL sqlmlutils_1.0.0.zip
R.exe -e "install.packages('odbc', repos='odbc')" R.exe CMD INSTALL sqlmlutils_1.0.0.tar.gz
Menambahkan paket R di SQL Server
Dalam contoh berikut, Anda akan menambahkan paket lem ke SQL Server.
Tambahkan paket secara online
Jika komputer klien yang Anda gunakan untuk terhubung ke SQL Server memiliki akses Internet, Anda dapat menggunakan sqlmlutils untuk menemukan paket lem dan dependensi apa pun melalui Internet, lalu menginstal paket ke instans SQL Server dari jarak jauh.
Di komputer klien, buka RStudio dan buat file Skrip R baru.
Gunakan skrip R berikut untuk menginstal paket lem menggunakan sqlmlutils. Ganti informasi koneksi database SQL Server Anda sendiri.
library(sqlmlutils) connection <- connectionInfo( server = "server", database = "database", uid = "username", pwd = "password") sql_install.packages(connectionString = connection, pkgs = "glue", verbose = TRUE, scope = "PUBLIC")
Tip
Cakupan dapat berupa PUBLIK atau PRIVAT. Cakupan publik berguna bagi administrator database untuk menginstal paket yang dapat digunakan semua pengguna. Cakupan privat membuat paket hanya tersedia untuk pengguna yang menginstalnya. Jika Anda tidak menentukan cakupan, cakupan defaultnya adalah PRIVATE.
Tambahkan paket secara offline
Jika komputer klien tidak memiliki koneksi Internet, Anda dapat menggunakan miniCRAN untuk mengunduh paket lem menggunakan komputer yang memang memiliki akses Internet. Anda kemudian menyalin paket ke komputer klien tempat Anda dapat menginstal paket secara offline. Lihat Menginstal miniCRAN untuk informasi tentang menginstal miniCRAN.
Di komputer dengan akses Internet:
Jalankan skrip R berikut untuk membuat repositori lokal untuk lem. Contoh ini membuat folder repositori di
c:\downloads\glue
.library("miniCRAN") CRAN_mirror <- c(CRAN = "https://cran.microsoft.com") local_repo <- "c:/downloads/glue" pkgs_needed <- "glue" pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "win.binary", Rversion = "3.5");
library("miniCRAN") CRAN_mirror <- c(CRAN = "https://cran.microsoft.com") local_repo <- "c:/downloads/glue" pkgs_needed <- "glue" pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "source", Rversion = "3.5");
Untuk nilainya
Rversion
, gunakan versi R yang diinstal di SQL Server. Untuk memverifikasi versi yang diinstal, gunakan perintah T-SQL berikut.EXECUTE sp_execute_external_script @language = N'R' , @script = N'print(R.version)'
Salin seluruh folder repositori lem (
c:\downloads\glue
) ke komputer klien. Misalnya, salin ke folderc:\temp\packages\glue
.
Pada komputer klien:
Buka RStudio dan buat file Skrip R baru.
Gunakan skrip R berikut untuk menginstal paket lem menggunakan sqlmlutils. Ganti informasi koneksi database SQL Server Anda sendiri (jika Anda tidak menggunakan Autentikasi Windows, tambahkan
uid
danpwd
parameter).library(sqlmlutils) connection <- connectionInfo( server= "yourserver", database = "yourdatabase") localRepo = "c:/temp/packages/glue" sql_install.packages(connectionString = connection, pkgs = "glue", verbose = TRUE, scope = "PUBLIC", repos=paste0("file:///",localRepo))
Tip
Cakupan dapat berupa PUBLIK atau PRIVAT. Cakupan publik berguna bagi administrator database untuk menginstal paket yang dapat digunakan semua pengguna. Cakupan privat membuat paket hanya tersedia untuk pengguna yang menginstalnya. Jika Anda tidak menentukan cakupan, cakupan defaultnya adalah PRIVATE.
Gunakan paket
Setelah paket lem diinstal, Anda dapat menggunakannya dalam skrip R di SQL Server dengan perintah T-SQL sp_execute_external_script.
Buka Azure Data Studio dan sambungkan ke database SQL Server Anda.
Jalankan perintah berikut:
EXECUTE sp_execute_external_script @language = N'R' , @script = N' library(glue) name <- "Fred" birthday <- as.Date("2020-06-14") text <- glue(''My name is {name} '', ''and my birthday is {format(birthday, "%A, %B %d, %Y")}.'') print(text) ';
Hasil
My name is Fred and my birthday is Sunday, June 14, 2020.
Menghapus paket
Jika Anda ingin menghapus paket lem , jalankan skrip R berikut. Gunakan variabel koneksi yang sama dengan yang Anda tentukan sebelumnya.
sql_remove.packages(connectionString = connection, pkgs = "glue", scope = "PUBLIC")
Fungsi sqlmlutils lainnya
Paket sqlmlutils berisi sejumlah fungsi untuk mengelola paket R, dan untuk membuat, mengelola, dan menjalankan prosedur dan kueri tersimpan di SQL Server. Untuk detailnya, lihat file Sqlmlutils R README.
Untuk informasi tentang fungsi sqlmlutils apa pun, gunakan fungsi bantuan R atau operator ? . Contohnya:
library(sqlmlutils)
help("sql_install.packages")
Langkah berikutnya
- Untuk informasi tentang paket R yang diinstal, lihat Mendapatkan informasi paket R
- Untuk bantuan dalam bekerja dengan paket R, lihat Tips untuk menggunakan paket R
- Untuk informasi tentang menginstal paket Python, lihat Menginstal paket Python dengan pip
- Untuk informasi selengkapnya tentang SQL Server Pembelajaran Mesin Services, lihat Apa itu SQL Server Pembelajaran Mesin Services (Python dan R)?