sp_execute_external_script
语法
sp_execute_external_script
@language = N'language',
@script = N'script'
[ , @input_data_1 = N'input_data_1' ]
[ , @input_data_1_name = N'input_data_1_name' ]
[ , @input_data_1_order_by_columns = N'input_data_1_order_by_columns' ]
[ , @input_data_1_partition_by_columns = N'input_data_1_partition_by_columns' ]
[ , @output_data_1_name = N'output_data_1_name' ]
[ , @parallel = 0 | 1 ]
[ , @params = N'@parameter_name data_type [ OUT | OUTPUT ] [ ,...n ]' ]
[ , @parameter1 = 'value1' [ OUT | OUTPUT ] [ ,...n ] ]
参数
@language = N'language'
指示脚本语言。 language 为 sysname。 有效值为 R、 Python 以及使用 CREATE EXTERNAL LANGUAGE (定义的任何语言,例如 Java) 。
@script = N'script' 指定为文本或变量输入的外部语言脚本。 脚本 为 nvarchar (max) 。
[ @input_data_1 = N'input_data_1' ] 以 Transact-SQL 查询的形式指定外部脚本使用的输入数据。 input_data_1 的数据类型为 nvarchar (max) 。
[ @input_data_1_name = N'input_data_1_name' ] 指定用于表示 由 定义的查询的 @input_data_1变量的名称。 外部脚本中变量的数据类型取决于语言。 对于 R,输入变量是数据帧。 对于 Python,输入必须是表格。 input_data_1_name 为 sysname。 默认值为 InputDataSet。
[ @input_data_1_order_by_columns = N'input_data_1_order_by_columns' ] 用于生成每分区模型。 指定用于对结果集进行排序的列的名称,例如按产品名称排序。 外部脚本中变量的数据类型取决于语言。 对于 R,输入变量是数据帧。 对于 Python,输入必须是表格。
[ @input_data_1_partition_by_columns = N'input_data_1_partition_by_columns' ] 用于生成每分区模型。 指定用于对数据进行分段的列的名称,例如地理区域或日期。 外部脚本中变量的数据类型取决于语言。 对于 R,输入变量是数据帧。 对于 Python,输入必须是表格。
[ @output_data_1_name = N'output_data_1_name' ]指定外部脚本中变量的名称,该脚本包含存储过程调用完成后要返回到SQL Server的数据。 外部脚本中变量的数据类型取决于语言。 对于 R,输出必须是数据帧。 对于 Python,输出必须是 pandas 数据帧。 output_data_1_name 为 sysname。 默认值为 OutputDataSet。
[ @parallel = 0 | 1 ] 通过将 参数设置为 1, @parallel 启用 R 脚本的并行执行。 此参数的默认值为 0, (无并行) 。 如果 @parallel = 1 输出直接流式传输到客户端计算机,则需要 WITH RESULT SETS 子句,并且必须指定输出架构。
对于不使用 RevoScaleR 函数的 R 脚本,假设脚本可以简单并行化,则使用
@parallel参数对于处理大型数据集会很有用。 例如,将 Rpredict函数与模型配合使用以生成新的预测时,请将 设置为@parallel = 1查询引擎的提示。 如果查询可以并行化,则根据 MAXDOP 设置分布行。对于使用 RevoScaleR 函数的 R 脚本,并行处理会自动处理,不应指定
@parallel = 1sp_execute_external_script调用。
[ @params = N'@parameter_name data_type [ OUT | OUTPUT ] [ ,...n ]' ] 外部脚本中使用的输入参数声明的列表。
[ @parameter1 = 'value1' [ OUT | OUTPUT ] [ ,...n ] ] 外部脚本使用的输入参数的值列表。




