sp_execute_external_script调用R脚本文件
问题描述:
我有一个很长的R脚本文件,我想使用SQL Server R服务,阅读它的documentation,我还没有看到任何使用示例:sp_execute_external_script
,它允许加载一个R脚本文件。所有的例子都打算利用嵌入的SQL语句,如下面的例子简单的R-计算:sp_execute_external_script调用R脚本文件
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
我需要以某种方式使用R-句子source("fileName")
用于执行R-句子。
注意:我试图使用SQL Server只是因为比我的个人计算机更好的机器性能。
由于提前,
大卫
答
这当然是可以使用source("filename")
你执行的R脚本。 R脚本应该位于SQL Server有权访问的地方。 例如:source("C:/Rscripts/script.R")
。请注意,SQL Server无法访问您的“我的文档”文件夹...
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)));
您尝试访问的R脚本文件是否保存在SQL Server计算机上?如果是这样,那么你应该能够获得源代码,就像在R中那样,假设它们具有读访问权限。 –