暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

sp_execute_external_script 用法

Ty3306 2023-12-07
213

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 参数对于处理大型数据集会很有用。 例如,将 R predict 函数与模型配合使用以生成新的预测时,请将 设置为 @parallel = 1 查询引擎的提示。 如果查询可以并行化,则根据 MAXDOP 设置分布行。

  • 对于使用 RevoScaleR 函数的 R 脚本,并行处理会自动处理,不应指定@parallel = 1sp_execute_external_script调用。

[ @params = N'@parameter_name data_type [ OUT | OUTPUT ] [ ,...n ]' ] 外部脚本中使用的输入参数声明的列表。

[ @parameter1 = 'value1' [ OUT | OUTPUT ] [ ,...n ] ] 外部脚本使用的输入参数的值列表。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论