sqlrutils (paket R di SQL Server Machine Learning 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 Machine Learning 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 baik 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 dalam 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.frame tunggal 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 Machine Learning 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:

  • Menentukan 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 untuk 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 maksimum 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, , setInputParameterdan setOutputParameter.

  • Secara opsional, gunakan filePath untuk menyediakan 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 dan connectionString.

  • 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 menggunakan setInputDataQuery 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.

Lihat juga

Cara membuat prosedur tersimpan menggunakan sqlrutils