Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümleri
sqlrutils, Microsoft tarafından sunulan, R kullanıcılarının R betiklerini bir T-SQL saklı yordamına yerleştirmelerine, bu saklı yordamı bir veritabanında kaydetmelerine ve saklı yordamı bir R geliştirme ortamından çalıştırmalarına olanak tanıyan bir R paketidir. Paket SQL Server Machine Learning Services ve SQL Server 2016 R Services'a dahildir.
R kodunuzu tek bir depolanmış prosedür içinde çalıştıracak şekilde dönüştürerek, sp_execute_external_script için R betiklerinin parametre olarak gömülmesini gerektiren SQL Server R Hizmetlerini daha etkili kullanabilirsiniz. sqlrutils paketi, bu gömülü R betiklerini oluşturmanıza ve ilgili parametreleri uygun şekilde ayarlamanıza yardımcı olur.
sqlrutils paketi şu görevleri yerine getirir:
- Oluşturulan T-SQL betikini bir R veri yapısı içinde bir dizi olarak kaydeder
- Isteğe bağlı olarak, T-SQL betiği için bir .sql dosyası oluşturabilirsiniz; bu dosyayı düzenleyebilir veya çalıştırarak depolanmış bir prosedür oluşturabilirsiniz
- Yeni oluşturulan depolanmış prosedürü R geliştirme ortamınızdaki SQL Server örneğiyle kaydeder
Ayrıca, iyi oluşturulmuş parametreleri geçirip sonuçları işleyerek bir R ortamından da kaydedilen prosedürü çalıştırabilirsiniz. Ya da, SQL Server'dan kaydedilen prosedürü kullanarak ETL, model eğitimi ve yüksek hacimli puanlama gibi yaygın veritabanı entegrasyon senaryolarını destekleyebilirsiniz.
Note
Eğer bir R ortamından executeStoredProcedure fonksiyonunu çağırarak saklanan prosedürü çalıştırmayı planlıyorsanız, SQL Server için ODBC Driver 13 gibi bir ODBC 3.8 sağlayıcısı kullanmalısınız.
Tam başvuru belgeleri
Sqlrutils paketi birden fazla Microsoft ürününde dağıtılıyor, ancak SQL Server'da veya başka bir üründe paketi alsanız da kullanım aynıdır. Ürüne özgü davranışlar varsa, işlev yardım sayfasında tutarsızlıklar belirtilir.
Fonksiyon listesi
Aşağıdaki bölüm, gömülü R kodu içeren bir işlem geliştirmek için sqlrutils paketinden çağırabileceğiniz fonksiyonların genel bir özetini sunar. Her yöntem veya fonksiyon için parametrelerin detayları için paketin R yardımına bakınız: help(package="sqlrutils")
| İşlev | Description |
|---|---|
| executeStoredProcedure | SQL kayıtlı prosedürü çalıştırın. |
| getInputParameters | Depolanan prosedürün giriş parametrelerinin bir listesini alın. |
| InputData | SQL Server'da R veri çerçevesinde kullanılacak veri kaynağını tanımlar. Giriş verisini depolayacağınız data.frame adını, veriyi almak için bir sorgu veya varsayılan değeri belirtirsiniz. Sadece basit SELECT sorguları desteklenir. |
| InputParameter | T-SQL betiğinin içine gömülecek tek bir giriş parametresi tanımlar. Parametrenin adını ve R veri tipini vermelisiniz. |
| Çıktı Verileri | R fonksiyonunuz data.frame içeren bir liste döndürdüğünde gerekli bir ara veri nesnesi oluşturur. OutputData nesnesi, listeden elde edilen tek bir data.frame'in adını depolamak için kullanılır. |
| OutputParameter | R fonksiyonunuz bir liste döndürdüğünde gerekli olan ara veri nesnesi oluşturur. OutputParameter nesnesi, listenin tek bir üyesinin adını ve veri tipini saklar; bu üye bir veri çerçevesi değilse varsayar. |
| registerStoredProcedure | Saklanan prosedürü bir veritabanına kaydedin. |
| setInputDataQuery | Bir sorgu, depolanan prosedürün giriş veri parametresine atayın. |
| setInputParameterValue | Depolanan prosedürün giriş parametresine bir değer atayın. |
| Saklı Yordam | Saklanan bir prosedür nesnesi. |
sqlrutils nasıl kullanılır
sqlrutils paket fonksiyonları, R ile SQL Server Machine Learning bir bilgisayarda çalışmalıdır. Bir istemci iş istasyonu üzerinde çalışıyorsanız, uzak hesaplama bağlamını SQL Server'a kaydıracak şekilde ayarlayın. Bu paketi kullanma iş akışı aşağıdaki adımları içerir:
- Depolanan prosedür parametrelerini (girişler, çıktılar veya her ikisi) tanımlayın
- Depolanan prosedürü oluşturun ve kaydedin
- Saklı yordamı çalıştır
Bir R oturumunda, komut satırından sqlrutils yükleyin.library(sqlrutils)
Note
Bu paketi, SQL Server olmayan bilgisayara (örneğin, bir R Client örneğinde) yükleyebilirsiniz; eğer hesaplama bağlamını SQL Server'a değiştirip kodu o hesaplama bağlamında çalıştırırsanız.
Depolanan prosedür parametreleri ve girdileri tanımlayın
StoredProcedure depolanan prosedürü oluşturmak için kullanılan ana yapıcıdır. Bu yapıcı, bir SQL Server Stored Procedure nesnesi oluşturur ve isteğe bağlı olarak T-SQL komutu kullanılarak saklanan prosedürü oluşturmak için kullanılabilecek bir sorgu içeren bir metin dosyası oluşturur.
Isteğe bağlı olarak, StoredProcedure fonksiyonu da depolanan prosedürü belirtilen örnek ve veritabanıyla kaydedebilir.
Geçerli bir R fonksiyonunu belirtmek için argümanı
funckullanın. Fonksiyonun kullandığı tüm değişkenler ya fonksiyon içinde tanımlanmalı ya da giriş parametreleri olarak sağlanmalıdır. Bu parametreler en fazla bir veri çerçevesini içerebilir.R fonksiyonu ya bir veri çerçevesi, adlandırılmış bir liste ya da NULL döndürmelidir. Fonksiyon bir liste döndürürse, liste en fazla bir data.frame içerebilir.
Oluşturmak istediğiniz depolanan prosedürün adını belirtmek için argümanı
spNamekullanın.Bu yardımcı fonksiyonlar tarafından oluşturulan nesneleri kullanarak isteğe bağlı giriş ve çıkış parametreleri iletebilirsiniz:
setInputData,setInputParameter, vesetOutputParameter.İsteğe bağlı olarak, oluşturulacak .sql dosyasının yolunu ve adını vermek için kullanın
filePath. Bu dosyayı SQL Server örneğinde çalıştırarak T-SQL kullanarak saklanan prosedürü oluşturabilirsiniz.Saklı yordamın kaydedileceği sunucuyu ve veritabanını tanımlamak için
dbNameveconnectionStringbağımsız değişkenlerini kullanın.Belirli bir StoredProcedure nesnesini oluşturmak için kullanılan InputData ve InputParameter nesnelerinin listesini almak için
getInputParametersçağırın.Belirtilen veritabanına saklı yordamı kaydetmek için
registerStoredProcedurekullanın.
Depolanan prosedür nesnesi genellikle herhangi bir veri veya değer içermez, ancak varsayılan bir değer belirtilmedikçe. Veriler, saklanan prosedür yürütülene kadar alınmaz.
Girişleri belirtin ve çalıştırın
Bir sorguyu
setInputDataQuerynesnesine atamak için kullanın. Örneğin, R'de bir stored procedure object oluşturduysanız,setInputDataQueryistenen girdilerle depolanmış prosedürü çalıştırmak için StoredProcedure fonksiyonuna argümanlar iletebilirsiniz.setInputValue, InputParameter nesnesi olarak depolanan bir parametreye belirli değerler atamak için kullanın. Daha sonra parametre nesnesini ve değer atamasını StoredProcedure fonksiyonuna iletirsiniz ve böylece depolanmış prosedürü küme değerlerle çalıştırırsınız.StoredProcedure nesnesi olarak tanımlanan bir depolanmış prosedürü çalıştırmak için kullanılır
executeStoredProcedure. Bu fonksiyonu yalnızca R kodundan depolanmış bir prosedür çalıştırırken çağırın. SQL Server'dan T-SQL ile saklanan prosedürü çalıştırırken bunu kullanmayın.
Note
executeStoredProcedure fonksiyonu, SQL Server için ODBC Driver 13 gibi bir ODBC 3.8 sağlayıcısı gerektirir.