【问题标题】:sp_execute_external_script invoking a R script filesp_execute_external_script 调用 R 脚本文件
【发布时间】:2016-07-22 18:50:33
【问题描述】:

我有一个很长的 R 脚本文件,我想使用 SQL Server R 服务,阅读它的documentation,我没有看到任何使用示例:sp_execute_external_script 允许加载 R 脚本文件。所有示例都旨在使用嵌入在 SQL 语句中的简单 r-computation,例如以下示例:

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-sentence source("fileName") 来执行 r-sentences。

注意:我尝试使用 SQL Server 只是因为它的机器性能比我的个人计算机更好。

提前致谢,

大卫

【问题讨论】:

  • 您尝试获取的 R 脚本文件是否保存在 SQL Server 计算机上?如果是这样,您应该能够像在 R 中一样获取源代码,假设对它们有读取权限。

标签: r sql-server-2016


【解决方案1】:

当然可以使用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)));  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 2012-07-18
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多