2016-07-22 6 views
0

ich eine lange R-Script-Datei haben, und ich möchte SQL Server R Services verwenden, um seine documentation lesen, ich habe kein Beispiel für die Verwendung gesehen: sp_execute_external_script, dass ein R-Skript ermöglicht das Laden Datei. Alle Beispiele sollen in einer SQL-Sätze, wie das folgende Beispiel eingebettete einfache r-Berechnung verwenden:sp_execute_external_script eine R-Skriptdatei aufruft

DROP PROC IF EXISTS get_iris_dataset; 
go 
CREATE PROC get_iris_dataset 
AS 
BEGIN 
EXEC sp_execute_external_script 
    @language = N'R' 
, @script = N'iris_data <- iris;' 
, @input_data_1 = N'' 
, @output_data_1_name = N'iris_data' 
WITH RESULT SETS (("Sepal.Length" float not null, 
     "Sepal.Width" float not null, 
    "Petal.Length" float not null, 
    "Petal.Width" float not null, "Species" varchar(100))); 
END; 
go 

ich in irgendeiner Weise brauchen würde, die r-Satz source("fileName") zur Ausführung der r-Sätze zu verwenden.

Hinweis: Ich versuche, einen SQL Server zu verwenden, nur weil eine bessere Maschinenleistung als mein PC.

Vielen Dank im Voraus,

David

+0

Sind die R-Skriptdateien, die Sie versuchen, auf dem SQL Server-Computer zu speichern? Wenn ja, sollten Sie in der Lage sein, dann wie in R zu quellen, vorausgesetzt, es gibt Lesezugriff auf sie. –

Antwort

2

Es ist sicherlich möglich source("filename") verwenden Sie einen R-Skript auszuführen. Das R-Skript sollte sich irgendwo befinden, wo SQL Server darauf zugreifen kann. Zum Beispiel: . Beachten Sie, dass SQL Server keinen Zugriff auf den Ordner "Eigene Dateien" hat.

EXEC sp_execute_external_script 
@language = N'R' 
,@script = N' 
source("C:/Rscripts/script.R");' 
,@input_data_1 = N'' 
,@output_data_1_name = N'iris_data' 
WITH RESULT SETS (("Sepal.Length" float not null, 
"Sepal.Width" float not null, 
"Petal.Length" float not null, 
"Petal.Width" float not null, "Species" varchar(100)));