sqlrutils (paket R di SQL Server Pembelajaran Mesin Services)
Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru
sqlrutils adalah paket R dari Microsoft yang menyediakan mekanisme bagi pengguna R untuk memasukkan skrip R mereka ke dalam prosedur tersimpan T-SQL, mendaftarkan prosedur tersimpan tersebut dengan database, dan menjalankan prosedur tersimpan dari lingkungan pengembangan R. Paket ini disertakan dalam SQL Server Pembelajaran Mesin Services dan SQL Server 2016 R Services.
Dengan mengonversi kode R Anda untuk berjalan dalam satu prosedur tersimpan, Anda dapat menggunakan SQL Server R Services yang lebih efektif, yang mengharuskan skrip R disematkan sebagai parameter untuk sp_execute_external_script. Paket sqlrutils membantu Anda membangun skrip R yang disematkan ini dan mengatur parameter terkait dengan tepat.
Paket sqlrutils melakukan tugas-tugas ini:
- Menyimpan skrip T-SQL yang dihasilkan sebagai string di dalam struktur data R
- Secara opsional, buat file .sql untuk skrip T-SQL, yang dapat Anda edit atau jalankan untuk membuat prosedur tersimpan
- Mendaftarkan prosedur tersimpan yang baru dibuat dengan instans SQL Server dari lingkungan pengembangan R Anda
Anda juga dapat menjalankan prosedur tersimpan dari lingkungan R, dengan melewati parameter yang terbentuk dengan baik dan memproses hasilnya. Atau, Anda dapat menggunakan prosedur tersimpan dari SQL Server untuk mendukung skenario integrasi database umum seperti ETL, pelatihan model, dan penilaian volume tinggi.
Catatan
Jika Anda ingin menjalankan prosedur tersimpan dari lingkungan R dengan memanggil fungsi executeStoredProcedure , Anda harus menggunakan penyedia ODBC 3.8, seperti ODBC Driver 13 untuk SQL Server.
Dokumentasi referensi lengkap
Paket sqlrutils didistribusikan dalam beberapa produk Microsoft, tetapi penggunaannya sama apakah Anda mendapatkan paket di SQL Server atau produk lain. Jika ada perilaku khusus produk, perbedaan akan dicatat di halaman bantuan fungsi.
Daftar fungsi
Bagian berikut memberikan gambaran umum tentang fungsi yang dapat Anda panggil dari paket sqlrutils untuk mengembangkan prosedur tersimpan yang berisi kode R yang disematkan. Untuk detail parameter untuk setiap metode atau fungsi, lihat bantuan R untuk paket: help(package="sqlrutils")
Fungsi | Deskripsi |
---|---|
executeStoredProcedure | Jalankan prosedur tersimpan SQL. |
getInputParameters | Dapatkan daftar parameter input ke prosedur tersimpan. |
InputData | Menentukan sumber data di SQL Server yang akan digunakan dalam bingkai data R. Anda menentukan nama data.frame untuk menyimpan data input, dan kueri untuk mendapatkan data, atau nilai default. Hanya kueri SELECT sederhana yang didukung. |
InputParameter | Menentukan parameter input tunggal yang akan disematkan dalam skrip T-SQL. Anda harus memberikan nama parameter dan jenis data R-nya. |
OutputData | Menghasilkan objek data perantara yang diperlukan jika fungsi R Anda mengembalikan daftar yang berisi data.frame. Objek OutputData digunakan untuk menyimpan nama data tunggal.frame yang diperoleh dari daftar. |
OutputParameter | Menghasilkan objek data perantara yang diperlukan jika fungsi R Anda mengembalikan daftar. Objek OutputParameter menyimpan nama dan jenis data dari satu anggota daftar, dengan asumsi bahwa anggota bukan bingkai data. |
registerStoredProcedure | Daftarkan prosedur tersimpan dengan database. |
setInputDataQuery | Tetapkan kueri ke parameter data input prosedur tersimpan. |
setInputParameterValue | Tetapkan nilai ke parameter input prosedur tersimpan. |
StoredProcedure | Objek prosedur tersimpan. |
Cara menggunakan sqlrutils
Fungsi paket sqlrutils harus berjalan di komputer yang memiliki SQL Server Pembelajaran Mesin dengan R. Jika Anda mengerjakan stasiun kerja klien, atur konteks komputasi jarak jauh untuk mengalihkan eksekusi ke SQL Server. Alur kerja untuk menggunakan paket ini mencakup langkah-langkah berikut:
- Tentukan parameter prosedur tersimpan (input, output, atau keduanya)
- Membuat dan mendaftarkan prosedur tersimpan
- Jalankan prosedur tersimpan
Dalam sesi R, muat sqlrutils dari baris perintah dengan mengetik library(sqlrutils)
.
Catatan
Anda dapat memuat paket ini di komputer yang tidak memiliki SQL Server (misalnya, pada instans Klien R) jika Anda mengubah konteks komputasi ke SQL Server dan menjalankan kode dalam konteks komputasi tersebut.
Menentukan parameter dan input prosedur tersimpan
StoredProcedure
adalah konstruktor utama yang digunakan untuk membangun prosedur tersimpan. Konstruktor ini menghasilkan objek Prosedur Tersimpan SQL Server, dan secara opsional membuat file teks yang berisi kueri yang dapat digunakan untuk menghasilkan prosedur tersimpan menggunakan perintah T-SQL.
Secara opsional, fungsi StoredProcedure juga dapat mendaftarkan prosedur tersimpan dengan instans dan database yang ditentukan.
func
Gunakan argumen untuk menentukan fungsi R yang valid. Semua variabel yang digunakan fungsi harus didefinisikan baik di dalam fungsi atau disediakan sebagai parameter input. Parameter ini dapat mencakup maksimum satu bingkai data.Fungsi R harus mengembalikan bingkai data, daftar bernama, atau NULL. Jika fungsi mengembalikan daftar, daftar dapat berisi maksimal satu data.frame.
Gunakan argumen
spName
untuk menentukan nama prosedur tersimpan yang ingin Anda buat.Anda dapat meneruskan parameter input dan output opsional, menggunakan objek yang dibuat oleh fungsi pembantu ini:
setInputData
, ,setInputParameter
dansetOutputParameter
.Secara opsional, gunakan
filePath
untuk memberikan jalur dan nama file .sql untuk dibuat. Anda dapat menjalankan file ini pada instans SQL Server untuk menghasilkan prosedur tersimpan menggunakan T-SQL.Untuk menentukan server dan database tempat prosedur tersimpan akan disimpan, gunakan argumen
dbName
danconnectionString
.Untuk mendapatkan daftar objek InputData dan InputParameter yang digunakan untuk membuat objek StoredProcedure tertentu, panggil
getInputParameters
.Untuk mendaftarkan prosedur tersimpan dengan database yang ditentukan, gunakan
registerStoredProcedure
.
Objek prosedur tersimpan biasanya tidak memiliki data atau nilai apa pun yang terkait dengannya, kecuali nilai default ditentukan. Data tidak diambil sampai prosedur tersimpan dijalankan.
Tentukan input dan jalankan
Gunakan
setInputDataQuery
untuk menetapkan kueri ke objek InputParameter . Misalnya, jika Anda telah membuat objek prosedur tersimpan di R, Anda dapat menggunakansetInputDataQuery
untuk meneruskan argumen ke fungsi StoredProcedure untuk menjalankan prosedur tersimpan dengan input yang diinginkan.Gunakan
setInputValue
untuk menetapkan nilai tertentu ke parameter yang disimpan sebagai objek InputParameter . Anda kemudian meneruskan objek parameter dan penetapan nilainya ke fungsi StoredProcedure untuk menjalankan prosedur tersimpan dengan nilai yang ditetapkan.Gunakan
executeStoredProcedure
untuk menjalankan prosedur tersimpan yang didefinisikan sebagai objek StoredProcedure . Panggil fungsi ini hanya saat menjalankan prosedur tersimpan dari kode R. Jangan gunakan saat menjalankan prosedur tersimpan dari SQL Server menggunakan T-SQL.
Catatan
Fungsi executeStoredProcedure memerlukan penyedia ODBC 3.8, seperti ODBC Driver 13 untuk SQL Server.