症状
设想 运行使用 RxLocalParallel 的 R 脚本 计算上下文或 DoParallel R 程序包。 使用sp_execute_external_script运行使用 R 编写的脚本时,你会注意到查询可能会挂起 运行并行函数时。
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
解决方案
在 SQL Server 的以下累积更新中修复了此问题:
关于 SQL Server 的累积更新:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
解决方法
若要工作 在问题不更新的情况下,你可以在以下位置包含其他一些 R 代码 sp_execute_external_script中脚本的顶部。 所 代码如下所示:
parallel <-getNamespace ("平行")
unlockBinding("makePSOCKcluster", 并行
internalMakePSOCKcluster <- 并行:: makePSOCKcluster
wrapperMakePSOCKcluster = 函数(...){
args < 列表(...)
if (!("在% 中的 outfile "% 名称(args)) | |is。 null (args [["outfile"]]])
{
参数 [["outfile"]] <- tempfile()
}
do。 call (internalMakePSOCKcluster,args)
}
并行 $ makePSOCKcluster <- wrapperMakePSOCKcluster
lockBinding("makePSOCKcluster", 并行
参考
了解Microsoft 用于描述软件更新的 术语 。