Symptômes
Endoss vous exécutez des scripts R qui utilisent le RxLocalParallel le contexte de calcul ou le paquet Coparallèle R. Lorsque vous utilisez sp_execute_external_script pour exécuter des scripts écrits en R, vous remarquez que la requête peut se bloquer lors de l’exécution des fonctions parallèles.
Statut
Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « S’applique à ».
Résolution
Ce problème a été résolu dans la mise à jour cumulative suivante pour SQL Server :
À propos des mises à jour cumulatives pour SQL Server :
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs et les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
Solution de contournement
Pour travailler Lorsque le problème n’est pas mis à jour, vous pouvez inclure des codes R supplémentaires sur haut de votre script dans sp_execute_external_script. Cette le code est le suivant :
< parallèle-getNamespace ("Parallel")
unlockBinding("makePSOCKcluster", parallélisation
internalMakePSOCKcluster <- parallèle :: makePSOCKcluster
wrapperMakePSOCKcluster = fonction (...) {
args <-liste (...)
Si ( ! (" fichier journal "% en% noms (arguments) est. null (args [["fichier en file"])))
{
args [["défichier"]] <- tempfile()
}
do. Call (internalMakePSOCKcluster, args)
}
< parallèle $ makePSOCKcluster- wrapperMakePSOCKcluster
lockBinding("makePSOCKcluster", parallélisation
Références
Apprenez-en davantage sur la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.