Installare un runtime personalizzato di R per SQL Server
Si applica a: SQL Server 2019 (15.x)
Informazioni su come installare un runtime personalizzato di R per eseguire script R esterni con SQL Server in:
- Finestre
- Ubuntu Linux
- Red Hat Enterprise Linux (RHEL)
- SUSE Linux Enterprise Server (SLES) versione 12
Il runtime personalizzato può eseguire script di Machine Learning e usa le estensioni del linguaggio di SQL Server.
Usare la propria versione del runtime di R con SQL Server, invece della versione predefinita del runtime installata con SQL Server Machine Learning Services.
A partire da SQL Server 2022 (16.x), i runtime per R, Python e Java non vengono più installati con l'installazione di SQL. Occorre invece installare i runtime e i pacchetti personalizzati per R che si intende usare. Per altre informazioni, vedere Installare Machine Learning Services (Python e R) per SQL Server 2022 in Windows o Installare SQL Server Machine Learning Services (Python e R) in Linux.
Prerequisiti
Prima di installare un runtime personalizzato di R, installare quanto segue:
- Se si usa un'istanza di SQL Server esistente, installare l'aggiornamento cumulativo 3 o versione successiva per SQL Server 2019.
Installare le estensioni del linguaggio
Nota
Se Machine Learning Services è installato in SQL Server 2019, le estensioni del linguaggio sono già installate ed è possibile ignorare questo passaggio.
Seguire questa procedura per installare le estensioni del linguaggio di SQL Server, che vengono usate per il runtime personalizzato di R.
Avviare l'Installazione guidata di SQL Server 2019.
Nella scheda Installazione selezionare Nuova installazione autonoma di SQL Server o aggiunta di funzionalità a un'installazione esistente.
Nella pagina Selezione funzionalità selezionare queste opzioni:
Servizi motore di database
Per usare le estensioni del linguaggio con SQL Server, è necessario installare un'istanza del motore di database. È possibile usare un'istanza nuova o esistente.
Machine Learning Services ed estensioni del linguaggio
Selezionare Machine Learning Services ed estensioni del linguaggio. Non selezionare R, perché in seguito verrà installato il runtime di R personalizzato.
Nella pagina Inizio installazione verificare che le opzioni selezionate siano incluse e selezionare Installa.
- Servizi motore di database
- Machine Learning Services ed estensioni del linguaggio
Al termine dell'installazione, riavviare il computer, se richiesto.
Importante
Se si installa una nuova istanza di SQL Server 2019 con le estensioni del linguaggio, installare l'aggiornamento cumulativo (CU) 3 o versione successiva prima di continuare con il passaggio successivo.
Installare R
Scaricare e installare la versione di R che si userà come runtime personalizzato. Sono supportate le versioni 3.3 e successive di R.
Scaricare R versione 3.3 o successive.
Eseguire il programma di installazione di R.
Prendere nota del percorso in cui è installato R. Ad esempio, in questo articolo è
C:\Program Files\R\R-4.0.3
.
Aggiornare la variabile di ambiente di sistema
Seguire questa procedura per modificare la variabile di ambiente di sistema PATH.
Nella casella di ricerca di Windows cercare Modifica le variabili di ambiente relative al sistema e aprire la finestra corrispondente.
In Avanzate selezionare Variabili d'ambiente.
Modificare la variabile di ambiente di sistema PATH.
Selezionare PATH e fare clic su Modifica.
Selezionare Nuovo e aggiungere il percorso alla cartella nel
\bin\x64
percorso di installazione di R. Ad esempio:C:\Program Files\R\R-4.0.3\bin\x64
.
Installare il pacchetto Rcpp
Per installare il pacchetto Rcpp, seguire questa procedura.
Avviare un prompt dei comandi con privilegi elevati (Esegui come amministratore).
Avviare R dal prompt dei comandi. Eseguire
\bin\R.exe
nella cartella del percorso di installazione di R. Ad esempio:C:\Program Files\R\R-4.0.3\bin\R.exe
."C:\Program Files\R\R-4.0.3\bin\R.exe"
Eseguire lo script seguente per installare il pacchetto Rcpp nella cartella
\library
nel percorso di installazione di R. Ad esempio:C:\Program Files\R\R-4.0.3\library
.install.packages("Rcpp", lib="C:\\Program Files\\R\\R-4.0.3\\library");
Concedere l'accesso alla cartella di R
Nota
Se R è stato installato nel percorso predefinito C:\Program Files\R\R-version
(ad esempio C:\Program Files\R\R-4.0.3
), è possibile ignorare questo passaggio.
Eseguire i comandi icacls seguenti da un nuovo prompt dei comandi con privilegi elevati per concedere l'accesso in lettura ed esecuzione al nome utente del servizio Launchpad di SQL Server e al SID S-1-15-2-1 (ALL APPLICATION PACKAGES). Il nome utente del servizio Launchpad è nel formato NT Service\MSSQLLAUNCHPAD$INSTANCENAME
dove INSTANCENAME
è il nome dell'istanza di SQL Server.
I comandi concederanno l'accesso in modo ricorsivo a tutti i file e le cartelle nel percorso di directory specificato.
Concedere al nome utente del servizio Launchpad di SQL Server le autorizzazioni di accesso al percorso di installazione di R. Ad esempio:
C:\Program Files\R\R-4.0.3
.icacls "C:\Program Files\R\R-4.0.3" /grant "NT Service\MSSQLLAUNCHPAD":(OI)(CI)RX /T
Per l'istanza denominata, il comando sarà
icacls "C:\Program Files\R\R-4.0.3" /grant "NT Service\MSSQLLAUNCHPAD$SQL01":(OI)(CI)RX /T
per un'istanza denominata SQL01.Concedere al SID S-1-15-2-1 le autorizzazioni di accesso al percorso di installazione di R. Ad esempio:
C:\Program Files\R\R-4.0.3
.icacls "C:\Program Files\R\R-4.0.3" /grant *S-1-15-2-1:(OI)(CI)RX /T
Il comando precedente concede le autorizzazioni al SID del computer S-1-15-2-1, che equivale a ALL APPLICATION PACKAGES (TUTTI I PACCHETTI APPLICAZIONI) in una versione di Windows in inglese. In alternativa è possibile usare
icacls "C:\Program Files\R\R-4.0.3" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /T
in una versione di Windows in inglese.
Riavviare Launchpad di SQL Server
Per riavviare il servizio Launchpad di SQL Server, attenersi alla seguente procedura.
In Servizi SQL Server, fare clic con il pulsante destro del mouse su Launchpad di SQL Server (MSSQLSERVER) e selezionare Riavvia. Se si utilizza un'istanza denominata, il nome dell'istanza verrà visualizzato al posto di (MSSQLSERVER).
Registrare l'estensione del linguaggio
Seguire questa procedura per scaricare e registrare l'estensione del linguaggio R, che viene usata per il runtime personalizzato di R.
Scaricare il file R-lang-extension-windows-release.zip dal repository GitHub per le estensioni del linguaggio di SQL Server.
In alternativa, è possibile usare la versione di debug (R-lang-extension-windows-debug.zip) in un ambiente di sviluppo o di test. La versione di debug fornisce informazioni di registrazione dettagliate per esaminare eventuali errori e non è consigliata per gli ambienti di produzione.
Usare Azure Data Studio per connettersi all'istanza di SQL Server ed eseguire il comando T-SQL seguente per registrare l'estensione del linguaggio R con CREATE EXTERNAL LANGUAGE.
Modificare il percorso in questa istruzione in modo che corrisponda al percorso del file ZIP dell'estensione del linguaggio scaricato (R-lang-extension-windows-release.zip) e al percorso dell'installazione di R (
C:\\Program Files\\R\\R-4.0.3
).CREATE EXTERNAL LANGUAGE [myR] FROM (CONTENT = N'C:\path\to\R-lang-extension-windows-release.zip', FILE_NAME = 'libRExtension.dll', ENVIRONMENT_VARIABLES = N'{"R_HOME": "C:\\Program Files\\R\\R-4.0.3"}'); GO
Eseguire l'istruzione per ogni database in cui si vuole usare l'estensione del linguaggio R.
Nota
R è una parola riservata e non può essere usata come nome per un nuovo linguaggio esterno. Usare un altro nome. Ad esempio, l'istruzione precedente usa myR.
Prerequisiti
Prima di installare un runtime personalizzato di R, installare quanto segue:
Installare SQL Server 2019 per Linux. È possibile installare SQL Server in Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) versione 12 e Ubuntu. Per altre informazioni, vedere le Linee guida per l'installazione di SQL Server in Linux.
Installare l'aggiornamento cumulativo (CU) 3 o versione successiva per SQL Server 2019. Seguire questa procedura:
Configurare i repository per gli aggiornamenti cumulativi. Per altre informazioni, vedere Configurare i repository per l'installazione e l'aggiornamento di SQL Server in Linux.
Aggiornare il pacchetto mssql-server all'aggiornamento cumulativo più recente. Per altre informazioni, vedere la sezione sull'aggiornamento di SQL Server nelle linee guida per l'installazione di SQL Server in Linux.
Installare le estensioni del linguaggio
Nota
Se Machine Learning Services è installato in SQL Server 2019, il pacchetto mssql-server-extensibility per le estensioni del linguaggio è già installato ed è possibile ignorare questo passaggio.
Eseguire i comandi seguenti per installare le estensioni del linguaggio di SQL Server in Ubuntu Linux, che viene usato per il runtime personalizzato di R.
Se possibile, eseguire questo comando per aggiornare i pacchetti nel sistema prima dell'installazione.
# Install as root or sudo sudo apt-get update
Installare mssql-server-extensibility con questo comando.
# Install as root or sudo sudo apt-get install mssql-server-extensibility
Installare R
Se è installato Machine Learning Services, R è già installato in
/opt/microsoft/ropen/3.5.2/lib64/R
. Se si vuole continuare a usare questo percorso come R_HOME, è possibile ignorare questo passaggio.Se si vuole usare un runtime diverso di R, prima di continuare con l'installazione di una nuova versione è necessario rimuovere
microsoft-r-open-mro
.sudo apt remove microsoft-r-open-mro-3.5.2
Installare R (3.3 o versioni successive) per Ubuntu. Per impostazione predefinita, R viene installato in /usr/lib/R. Questo percorso corrisponde a R_HOME. Se si installa R in un percorso diverso, prendere nota del percorso come R_HOME.
Di seguito sono riportate istruzioni di esempio per Ubuntu. Modificare l'URL del repository seguente per la versione di R.
export DEBIAN_FRONTEND=noninteractive sudo apt-get update sudo apt-get --no-install-recommends -y install curl zip unzip apt-transport-https libstdc++6 # Add R CRAN repository. This repository works for R 4.0.x. # sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu xenial-cran40/' sudo apt-get update # Install R runtime. # sudo apt-get -y install r-base-core
Installazione personalizzata di R
Nota
Se R è stato installato nel percorso predefinito /usr/lib/R, è possibile ignorare questa sezione e passare alla sezione Installare il pacchetto Rcpp.
Aggiornare le variabili di ambiente
Prima di tutto, modificare il servizio mssql-launchpadd per aggiungere la variabile di ambiente R_HOME al file /etc/systemd/system/mssql-launchpadd.service.d/override.conf
Aprire il file con systemctl
sudo systemctl edit mssql-launchpadd
Inserire il testo seguente nel file
/etc/systemd/system/mssql-launchpadd.service.d/override.conf
che si apre. Impostare il valore di R_HOME sul percorso di installazione di R personalizzato.[Service] Environment="R_HOME=<path to R>"
Salva e chiudi.
Quindi, verificare che libR.so
possa essere caricato.
Creare un file custom-r.conf in /etc/ld.so.conf.d.
sudo vi /etc/ld.so.conf.d/custom-r.conf
Nel file che si apre aggiungere il percorso di libR.so dall'installazione di R personalizzata.
<path to the R lib>
Salvare il nuovo file e chiudere l'editor.
Eseguire
ldconfig
e verificare che sia possibile caricare libR.so eseguendo il comando seguente e verificando che tutte le librerie dipendenti siano disponibili.sudo ldconfig ldd <path to the R lib>/libR.so
Concedere l'accesso alla cartella di installazione personalizzata di R
Impostare l'opzione datadirectories
nella sezione extensibility del file /var/opt/mssql/mssql.conf
sull'installazione personalizzata di R.
sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>
Riavviare il servizio mssql-launchpadd
Eseguire il comando seguente per riavviare mssql-launchpadd.
sudo systemctl restart mssql-launchpadd
Installare il pacchetto Rcpp
Per installare il pacchetto Rcpp, seguire questa procedura.
Avviare R da una shell:
sudo ${R_HOME}/bin/R
Eseguire lo script seguente per installare il pacchetto Rcpp nella cartella ${R_HOME}\library.
install.packages("Rcpp", lib = "${R_HOME}/library");
Registrare l'estensione del linguaggio
Seguire questa procedura per scaricare e registrare l'estensione del linguaggio R, che viene usata per il runtime personalizzato di R.
Scaricare il file R-lang-extension-linux-release.zip dal repository GitHub per le estensioni del linguaggio di SQL Server.
In alternativa, è possibile usare la versione di debug (R-lang-extension-linux-debug.zip) in un ambiente di sviluppo o di test. La versione di debug fornisce informazioni di registrazione dettagliate per esaminare eventuali errori e non è consigliata per gli ambienti di produzione.
Usare Azure Data Studio per connettersi all'istanza di SQL Server ed eseguire il comando T-SQL seguente per registrare l'estensione del linguaggio R con CREATE EXTERNAL LANGUAGE.
Modificare il percorso in questa istruzione in modo che corrisponda al percorso del file ZIP dell'estensione del linguaggio scaricato (R-lang-extension-linux-release.zip).
CREATE EXTERNAL LANGUAGE [myR] FROM (CONTENT = N'/path/to/R-lang-extension-linux-release.zip', FILE_NAME = 'libRExtension.so.1.1'); GO
Eseguire l'istruzione per ogni database in cui si vuole usare l'estensione del linguaggio R.
Nota
R è una parola riservata e non può essere usata come nome per un nuovo linguaggio esterno. Usare un altro nome. Ad esempio, l'istruzione precedente usa myR.
Prerequisiti
Prima di installare un runtime personalizzato di R, installare quanto segue:
Installare SQL Server 2019 per Linux. È possibile installare SQL Server in Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) versione 12 e Ubuntu. Per altre informazioni, vedere le Linee guida per l'installazione di SQL Server in Linux.
Installare l'aggiornamento cumulativo (CU) 3 o versione successiva per SQL Server 2019. Seguire questa procedura:
Configurare i repository per gli aggiornamenti cumulativi. Per altre informazioni, vedere Configurare i repository per l'installazione e l'aggiornamento di SQL Server in Linux.
Aggiornare il pacchetto mssql-server all'aggiornamento cumulativo più recente. Per altre informazioni, vedere la sezione sull'aggiornamento di SQL Server nelle linee guida per l'installazione di SQL Server in Linux.
- RExtension richiede GLIBCXX_3.4.20. Assicurarsi che la versione di libstdc++.so.6 nell'installazione di Red Hat Enterprise Linux (RHEL) soddisfi questo requisito.
Installare le estensioni del linguaggio
Nota
Se Machine Learning Services è installato in SQL Server 2019, il pacchetto mssql-server-extensibility per le estensioni del linguaggio è già installato ed è possibile ignorare questo passaggio.
Eseguire il comando seguente per installare le estensioni del linguaggio di SQL Server in Red Hat Enterprise Linux (RHEL), che viene usato per il runtime personalizzato di R.
# Install as root or sudo
sudo yum install mssql-server-extensibility
Installare R
Se è installato Machine Learning Services, R è già installato in
/opt/microsoft/ropen/3.5.2/lib64/R
. Se si vuole continuare a usare questo percorso come R_HOME, è possibile ignorare questo passaggio.Se si vuole usare un runtime diverso di R, prima di continuare con l'installazione di una nuova versione è necessario rimuovere
microsoft-r-open-mro
.sudo yum erase microsoft-r-open-mro-3.5.2
Installare R (3.3 o versioni successive) per Red Hat Enterprise Linux (RHEL). Per impostazione predefinita, R viene installato in /usr/lib64/R. Questo percorso corrisponde a R_HOME. Se si installa R in un percorso diverso, prendere nota del percorso come R_HOME.
sudo yum install -y R
Installazione personalizzata di R
Nota
Se R è stato installato nel percorso predefinito /usr/lib/R, è possibile ignorare questa sezione e passare alla sezione Installare il pacchetto Rcpp.
Aggiornare le variabili di ambiente
Prima di tutto, modificare il servizio mssql-launchpadd per aggiungere la variabile di ambiente R_HOME al file /etc/systemd/system/mssql-launchpadd.service.d/override.conf
Aprire il file con systemctl
sudo systemctl edit mssql-launchpadd
Inserire il testo seguente nel file
/etc/systemd/system/mssql-launchpadd.service.d/override.conf
che si apre. Impostare il valore di R_HOME sul percorso di installazione di R personalizzato.[Service] Environment="R_HOME=<path to R>"
Salva e chiudi.
Quindi, verificare che libR.so
possa essere caricato.
Creare un file custom-r.conf in /etc/ld.so.conf.d.
sudo vi /etc/ld.so.conf.d/custom-r.conf
Nel file che si apre aggiungere il percorso di libR.so dall'installazione di R personalizzata.
<path to the R lib>
Salvare il nuovo file e chiudere l'editor.
Eseguire
ldconfig
e verificare che sia possibile caricare libR.so eseguendo il comando seguente e verificando che tutte le librerie dipendenti siano disponibili.sudo ldconfig ldd <path to the R lib>/libR.so
Concedere l'accesso alla cartella di installazione personalizzata di R
Impostare l'opzione datadirectories
nella sezione extensibility del file /var/opt/mssql/mssql.conf
sull'installazione personalizzata di R.
sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>
Riavviare il servizio mssql-launchpadd
Eseguire il comando seguente per riavviare mssql-launchpadd.
sudo systemctl restart mssql-launchpadd
Installare il pacchetto Rcpp
Per installare il pacchetto Rcpp, seguire questa procedura.
Avviare R da una shell:
sudo ${R_HOME}/bin/R
Eseguire lo script seguente per installare il pacchetto Rcpp nella cartella ${R_HOME}\library.
install.packages("Rcpp", lib = "${R_HOME}/library");
Registrare l'estensione del linguaggio
Seguire questa procedura per scaricare e registrare l'estensione del linguaggio R, che viene usata per il runtime personalizzato di R.
Scaricare il file R-lang-extension-linux-release.zip dal repository GitHub per le estensioni del linguaggio di SQL Server.
In alternativa, è possibile usare la versione di debug (R-lang-extension-linux-debug.zip) in un ambiente di sviluppo o di test. La versione di debug fornisce informazioni di registrazione dettagliate per esaminare eventuali errori e non è consigliata per gli ambienti di produzione.
Usare Azure Data Studio per connettersi all'istanza di SQL Server ed eseguire il comando T-SQL seguente per registrare l'estensione del linguaggio R con CREATE EXTERNAL LANGUAGE.
Modificare il percorso in questa istruzione in modo che corrisponda al percorso del file ZIP dell'estensione del linguaggio scaricato (R-lang-extension-linux-release.zip).
CREATE EXTERNAL LANGUAGE [myR] FROM (CONTENT = N'/path/to/R-lang-extension-linux-release.zip', FILE_NAME = 'libRExtension.so.1.1'); GO
Eseguire l'istruzione per ogni database in cui si vuole usare l'estensione del linguaggio R.
Nota
R è una parola riservata e non può essere usata come nome per un nuovo linguaggio esterno. Usare un altro nome. Ad esempio, l'istruzione precedente usa myR.
Prerequisiti
Prima di installare un runtime personalizzato di R, installare quanto segue:
Installare SQL Server 2019 per Linux. È possibile installare SQL Server in Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) versione 12 e Ubuntu. Per altre informazioni, vedere le Linee guida per l'installazione di SQL Server in Linux.
Installare l'aggiornamento cumulativo (CU) 3 o versione successiva per SQL Server 2019. Seguire questa procedura:
Configurare i repository per gli aggiornamenti cumulativi. Per altre informazioni, vedere Configurare i repository per l'installazione e l'aggiornamento di SQL Server in Linux.
Aggiornare il pacchetto mssql-server all'aggiornamento cumulativo più recente. Per altre informazioni, vedere la sezione sull'aggiornamento di SQL Server nelle linee guida per l'installazione di SQL Server in Linux.
Installare le estensioni del linguaggio
Nota
Se Machine Learning Services è installato in SQL Server 2019, il pacchetto mssql-server-extensibility per le estensioni del linguaggio è già installato ed è possibile ignorare questo passaggio.
Eseguire il comando seguente per installare le estensioni del linguaggio di SQL Server in SUSE Linux Enterprise Server (SLES), che viene usato per il runtime personalizzato di R.
# Install as root or sudo
sudo zypper install mssql-server-extensibility
Installare R
Se è installato Machine Learning Services, R è già installato in
/opt/microsoft/ropen/3.5.2/lib64/R
. Se si vuole continuare a usare questo percorso come R_HOME, è possibile ignorare questo passaggio.Se si vuole usare un runtime diverso di R, prima di continuare con l'installazione di una nuova versione è necessario rimuovere
microsoft-r-open-mro
.sudo zypper remove microsoft-r-open-mro-3.4.4
Installare R (3.3 o versioni successive) per SUSE Linux Enterprise Server (SLES). Per impostazione predefinita, R viene installato in /usr/lib64/R. Questo percorso corrisponde a R_HOME. Se si installa R in un percorso diverso, prendere nota del percorso come R_HOME.
Per installare R, seguire questa procedura:
sudo zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/R:/patched/openSUSE_12.3/ R-patched sudo zypper --gpg-auto-import-keys ref sudo zypper install R-core-libs R-core R-core-doc R-patched
È possibile ignorare gli avvisi per R-tcltk-3.6.1, a meno che questo pacchetto non sia necessario.
Installare gcc-c++
Installare gcc-c++ in SUSE Linux Enterprise Server (SLES). Viene usato per Rcpp, che viene installato successivamente.
sudo zypper install gcc-c++
Installazione personalizzata di R
Nota
Se R è stato installato nel percorso predefinito /usr/lib/R, è possibile ignorare questa sezione e passare alla sezione Installare il pacchetto Rcpp.
Aggiornare le variabili di ambiente
Prima di tutto, modificare il servizio mssql-launchpadd per aggiungere la variabile di ambiente R_HOME al file /etc/systemd/system/mssql-launchpadd.service.d/override.conf
Aprire il file con systemctl
sudo systemctl edit mssql-launchpadd
Inserire il testo seguente nel file
/etc/systemd/system/mssql-launchpadd.service.d/override.conf
che si apre. Impostare il valore di R_HOME sul percorso di installazione di R personalizzato.[Service] Environment="R_HOME=<path to R>"
Salva e chiudi.
Quindi, verificare che libR.so
possa essere caricato.
Creare un file custom-r.conf in /etc/ld.so.conf.d.
sudo vi /etc/ld.so.conf.d/custom-r.conf
Nel file che si apre aggiungere il percorso di libR.so dall'installazione di R personalizzata.
<path to the R lib>
Salvare il nuovo file e chiudere l'editor.
Eseguire
ldconfig
e verificare che sia possibile caricare libR.so eseguendo il comando seguente e verificando che tutte le librerie dipendenti siano disponibili.sudo ldconfig ldd <path to the R lib>/libR.so
Concedere l'accesso alla cartella di installazione personalizzata di R
Impostare l'opzione datadirectories
nella sezione extensibility del file /var/opt/mssql/mssql.conf
sull'installazione personalizzata di R.
sudo /opt/mssql/bin/mssql-conf set extensibility.datadirectories <path to R>
Riavviare il servizio mssql-launchpadd
Eseguire il comando seguente per riavviare mssql-launchpadd.
sudo systemctl restart mssql-launchpadd
Installare il pacchetto Rcpp
Per installare il pacchetto Rcpp, seguire questa procedura.
Avviare R da una shell:
sudo ${R_HOME}/bin/R
Eseguire lo script seguente per installare il pacchetto Rcpp nella cartella ${R_HOME}\library.
install.packages("Rcpp", lib = "${R_HOME}/library");
Registrare l'estensione del linguaggio
Seguire questa procedura per scaricare e registrare l'estensione del linguaggio R, che viene usata per il runtime personalizzato di R.
Scaricare il file R-lang-extension-linux-release.zip dal repository GitHub per le estensioni del linguaggio di SQL Server.
In alternativa, è possibile usare la versione di debug (R-lang-extension-linux-debug.zip) in un ambiente di sviluppo o di test. La versione di debug fornisce informazioni di registrazione dettagliate per esaminare eventuali errori e non è consigliata per gli ambienti di produzione.
Usare Azure Data Studio per connettersi all'istanza di SQL Server ed eseguire il comando T-SQL seguente per registrare l'estensione del linguaggio R con CREATE EXTERNAL LANGUAGE.
Modificare il percorso in questa istruzione in modo che corrisponda al percorso del file ZIP dell'estensione del linguaggio scaricato (R-lang-extension-linux-release.zip).
CREATE EXTERNAL LANGUAGE [myR] FROM (CONTENT = N'/path/to/R-lang-extension-linux-release.zip', FILE_NAME = 'libRExtension.so.1.1'); GO
Eseguire l'istruzione per ogni database in cui si vuole usare l'estensione del linguaggio R.
Nota
R è una parola riservata e non può essere usata come nome per un nuovo linguaggio esterno. Usare un altro nome. Ad esempio, l'istruzione precedente usa myR.
Abilitare lo script esterno
È possibile eseguire uno script esterno di R con la stored procedure sp_execute_external script.
Per abilitare gli script esterni, usare Azure Data Studio per eseguire l'istruzione seguente.
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;
Verifica l'installazione
Usare lo script SQL seguente per verificare l'installazione e la funzionalità del runtime personalizzato di R. Nello script di esempio seguente, myR
viene usato come nome del linguaggio perché non è possibile specificare il nome R
di lingua predefinita per un runtime personalizzato.
EXEC sp_execute_external_script
@language =N'myR',
@script=N'
print(R.home());
print(file.path(R.home("bin"), "R"));
print(R.version);
print("Hello RExtension!");'
Problemi noti
Se si usa il runtime di R fornito insieme a SQL Server Machine Learning Services impostando R_HOME
su C:\Program Files\Microsoft SQL Server\MSSQL15.<INSTANCE_NAME>\R_SERVICES
durante la registrazione dell'estensione del linguaggio, potrebbe verificarsi l'errore seguente durante l'esecuzione di qualsiasi script R personalizzato esterno con sp_execute_external script.
Errore: memoria esaurita (limite raggiunto?)
Per risolvere il problema:
- Impostare la variabile di ambiente
R_NSIZE
che indica il numero di oggetti a dimensione fissa (cons cells
) su un valore ragionevole, ad esempio200000
. - Riavviare il servizio Launchpad e ripetere l'esecuzione dello script.
Problemi noti
Se libstdc++.so.6 non è la versione corretta, verrà visualizzato questo messaggio di errore:
Exthost: caricamento dell'estensione non riuscito /lib64/libstdc++.so.6: versione 'GLIBCXX_3.4.20' non trovata (richiesta da /home/mssql_satellite/externallanguagessandboxpath/libRExtension.so.1.1)