Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: SQL Server 2019 (15.x) e versões
posteriores Azure SQL Managed Instance
Este artigo descreve como usar funções no pacote sqlmlutils para instalar pacotes R numa instância de Machine Learning Services no SQL Server e em Big Data Clusters. Os pacotes que instala podem ser usados em scripts R executados na base de dados usando a instrução T-SQL sp_execute_external_script.
Observação
O pacote sqlmlutils descrito neste artigo é utilizado para adicionar pacotes R ao SQL Server 2019 ou posterior. Para SQL Server 2017 e anteriores, consulte Instalar pacotes com ferramentas R.
Este artigo descreve como usar funções no pacote sqlmlutils para instalar pacotes R numa instância dos Serviços de Aprendizagem Automática de Instâncias Geridas Azure SQL. Os pacotes que instala podem ser usados em scripts R executados na base de dados usando a instrução T-SQL sp_execute_external_script.
Observação
Não pode atualizar ou desinstalar pacotes que tenham sido pré-instalados numa instância do SQL Managed Instance Machine Learning Services. Para ver uma lista de pacotes atualmente instalados, consulte Listar todos os pacotes R instalados.
Pré-requisitos
Instala o R e o RStudio Desktop no computador cliente que usas para te ligares ao SQL Server. Pode usar qualquer IDE R para executar scripts, mas este artigo assume o RStudio.
A versão do R no computador cliente deve corresponder à versão do R no servidor, e os pacotes que instalar devem ser compatíveis com a versão do R que tem. Para obter informações sobre qual versão do R está incluída em cada versão do SQL Server, consulte Versões Python e R.
Para verificar a versão do R num SQL Server específico, utilize o seguinte comando T-SQL.
EXECUTE sp_execute_external_script @language = N'R' , @script = N'print(R.version)'Instale o Azure Data Studio no computador cliente que usa para se ligar ao SQL Server. Pode usar outras ferramentas de gestão de bases de dados ou consultas, mas este artigo assume o Azure Data Studio.
Outras considerações
A instalação de pacotes é específica para a instância SQL, base de dados e utilizador que especifica na informação de ligação que fornece ao sqlmlutils. Para usar o pacote em múltiplas instâncias SQL ou bases de dados, ou para diferentes utilizadores, terá de instalar o pacote para cada uma. A exceção é que, se o pacote for instalado por um membro de
dbo, o pacote é público e partilhado com todos os utilizadores. Se um utilizador instalar uma versão mais recente de um pacote público, o pacote público não é afetado, mas esse utilizador terá acesso à versão mais recente.O script R a correr no SQL Server pode usar apenas pacotes instalados na biblioteca de instâncias predefinida. O SQL Server não pode carregar pacotes a partir de bibliotecas externas, mesmo que essa biblioteca esteja no mesmo computador. Isto inclui bibliotecas R instaladas com outros produtos Microsoft.
Num ambiente SQL Server reforçado, pode querer evitar o seguinte:
- Pacotes que requerem acesso à rede
- Pacotes que requerem acesso elevado ao sistema de ficheiros
- Pacotes usados para desenvolvimento web ou outras tarefas que não beneficiam ao correr dentro do SQL Server
Instala o sqlmlutils no computador cliente
Para usar o sqlmlutils, primeiro tens de o instalar no computador cliente que usas para te ligar ao SQL Server.
O pacote sqlmlutils depende do pacote ODBC , e o ODBC depende de vários outros pacotes. Os procedimentos seguintes instalam todos estes pacotes na ordem correta.
Instalar sqlmlutils online
Se o computador cliente tiver acesso à Internet, pode descarregar e instalar o sqlmlutils e os seus pacotes dependentes online.
Descarregue para o computador cliente o ficheiro sqlmlutils mais recente (
.zippara Windows,.tar.gzpara Linux) de https://github.com/microsoft/sqlmlutils/releases. Não expandas o ficheiro.Abra um Prompt de Comando e execute os seguintes comandos para instalar os pacotes odbc e sqlmlutils. Substitua o caminho para o ficheiro sqlmlutils que descarregaste. O pacote ODBC está disponível online e instalado.
R.exe -e "install.packages('odbc', type='binary')" R.exe CMD INSTALL sqlmlutils_1.0.0.zipR.exe -e "install.packages('odbc')" R.exe CMD INSTALL sqlmlutils_1.0.0.tar.gz
Instalar sqlmlutils offline
Se o computador cliente não tiver ligação à Internet, tens de descarregar os pacotes odbc e sqlmlutils antecipadamente usando um computador que tenha acesso à Internet. Depois podes copiar os ficheiros para uma pasta no computador cliente e instalar os pacotes offline.
O pacote odbc tem vários pacotes dependentes, e identificar todas as dependências de um pacote torna-se complicado. Recomendamos que utilize o miniCRAN para criar uma pasta de repositório local para o pacote que inclua todos os pacotes dependentes. Para mais informações, consulte Criar um repositório local de pacotes R usando miniCRAN.
O pacote sqlmlutils consiste num único ficheiro que podes copiar para o computador cliente e instalar.
Num computador com acesso à Internet:
Instalar miniCRAN Consulte Instalar miniCRAN para mais detalhes.
No RStudio, execute o seguinte script R para criar um repositório local do pacote odbc. Este exemplo assume que o repositório será criado na pasta
odbc.library("miniCRAN") CRAN_mirror <- c(CRAN = "https://cran.microsoft.com") local_repo <- "odbc" pkgs_needed <- "odbc" pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "win.binary", Rversion = "3.5");library("miniCRAN") CRAN_mirror <- c(CRAN = "https://cran.microsoft.com") local_repo <- "odbc" pkgs_needed <- "odbc" pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "source", Rversion = "3.5");Para o
Rversionvalor, use a versão do R instalada no SQL Server. Para verificar a versão instalada, utilize o seguinte comando T-SQL.EXECUTE sp_execute_external_script @language = N'R' , @script = N'print(R.version)'Descarregue o ficheiro sqlmlutils mais recente (
.zippara Windows,.tar.gzpara Linux) de https://github.com/microsoft/sqlmlutils/releases. Não expandas o ficheiro.Copie toda a pasta do repositório odbc e o ficheiro sqlmlutils para o computador cliente.
No computador cliente que usa para se ligar ao SQL Server:
Abra um prompt de comando.
Execute os seguintes comandos para instalar o odbc e depois o sqlmlutils. Substitua os caminhos completos para a pasta do repositório odbc e o ficheiro sqlmlutils que copiaste para este computador.
R.exe -e "install.packages('odbc', repos='odbc')" R.exe CMD INSTALL sqlmlutils_1.0.0.zipR.exe -e "install.packages('odbc', repos='odbc')" R.exe CMD INSTALL sqlmlutils_1.0.0.tar.gz
Adicionar um pacote R no SQL Server
No exemplo seguinte, vais adicionar o pacote de cola ao SQL Server.
Adicione o pacote online
Se o computador cliente que usa para se ligar ao SQL Server tiver acesso à Internet, pode usar o sqlmlutils para encontrar o pacote de cola e quaisquer dependências pela Internet, e depois instalar o pacote numa instância SQL Server remotamente.
No computador cliente, abra o RStudio e crie um novo ficheiro R Script .
Use o seguinte script R para instalar o pacote de colagem usando sqlmlutils. Substitua a sua própria informação de ligação à base de dados SQL Server.
library(sqlmlutils) connection <- connectionInfo( server = "server", database = "database", uid = "username", pwd = "password") sql_install.packages(connectionString = connection, pkgs = "glue", verbose = TRUE, scope = "PUBLIC")Sugestão
O âmbito pode ser PÚBLICO ou PRIVADO. O âmbito público é útil para o administrador da base de dados instalar pacotes que todos os utilizadores possam usar. O âmbito privado disponibiliza o pacote apenas ao utilizador que o instala. Se não especificares o âmbito, o escopo padrão é PRIVADO.
Adicionar o pacote offline
Se o computador cliente não tiver ligação à Internet, pode usar o miniCRAN para descarregar o pacote de cola usando um computador que tenha acesso à Internet. Depois copias o pacote para o computador cliente onde podes instalá-lo offline. Consulte Instalar miniCRAN para informações sobre como instalar miniCRAN.
Num computador com acesso à Internet:
Execute o seguinte script R para criar um repositório local de colagem. Este exemplo cria a pasta repositório em
c:\downloads\glue.library("miniCRAN") CRAN_mirror <- c(CRAN = "https://cran.microsoft.com") local_repo <- "c:/downloads/glue" pkgs_needed <- "glue" pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "win.binary", Rversion = "3.5");library("miniCRAN") CRAN_mirror <- c(CRAN = "https://cran.microsoft.com") local_repo <- "c:/downloads/glue" pkgs_needed <- "glue" pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "source", Rversion = "3.5");Para o
Rversionvalor, use a versão do R instalada no SQL Server. Para verificar a versão instalada, utilize o seguinte comando T-SQL.EXECUTE sp_execute_external_script @language = N'R' , @script = N'print(R.version)'Copie toda a pasta do repositório de cola (
c:\downloads\glue) para o computador cliente. Por exemplo, copie-o para a pastac:\temp\packages\glue.
No computador cliente:
Abra o RStudio e crie um novo ficheiro R Script .
Use o seguinte script R para instalar o pacote de colagem usando sqlmlutils. Substitua a sua própria informação de ligação à base de dados SQL Server (se não usar a Autenticação do Windows, adicione os parâmetros
uidepwd).library(sqlmlutils) connection <- connectionInfo( server= "yourserver", database = "yourdatabase") localRepo = "c:/temp/packages/glue" sql_install.packages(connectionString = connection, pkgs = "glue", verbose = TRUE, scope = "PUBLIC", repos=paste0("file:///",localRepo))Sugestão
O âmbito pode ser PÚBLICO ou PRIVADO. O âmbito público é útil para o administrador da base de dados instalar pacotes que todos os utilizadores possam usar. O âmbito privado disponibiliza o pacote apenas ao utilizador que o instala. Se não especificares o âmbito, o escopo padrão é PRIVADO.
Utilize o pacote
Depois de instalado o pacote de colagem , podes usá-lo num script R no SQL Server com o comando T-SQL sp_execute_external_script .
Abra o Azure Data Studio e ligue-se à sua base de dados SQL Server.
Execute o seguinte comando:
EXECUTE sp_execute_external_script @language = N'R' , @script = N' library(glue) name <- "Fred" birthday <- as.Date("2020-06-14") text <- glue(''My name is {name} '', ''and my birthday is {format(birthday, "%A, %B %d, %Y")}.'') print(text) ';Results
My name is Fred and my birthday is Sunday, June 14, 2020.
Retire a embalagem
Se quiser remover o pacote de colagem , execute o seguinte script R. Use a mesma variável de ligação que definiu anteriormente.
sql_remove.packages(connectionString = connection, pkgs = "glue", scope = "PUBLIC")
Mais funções sqlmlutils
O pacote sqlmlutils contém várias funções para gerir pacotes R, bem como para criar, gerir e executar procedimentos armazenados e consultas num SQL Server. Para detalhes, consulte o ficheiro sqlmlutils R README.
Para informações sobre qualquer função sqlmlutils, utilize a função R help ou o operador ?. Por exemplo:
library(sqlmlutils)
help("sql_install.packages")
Próximos passos
- Para informações sobre os pacotes R instalados, consulte Informações do pacote Get R
- Para ajuda no trabalho com pacotes R, veja Dicas para usar pacotes R
- Para informações sobre a instalação de pacotes Python, consulte Instalar pacotes Python com pip
- Para mais informações sobre os Serviços de Aprendizagem Automática do SQL Server, consulte O que são os Serviços de Aprendizagem Automática do SQL Server (Python e R)?