Instalar pacotes com ferramentas R

Aplica-se a: SQL Server 2016 (13.x) SQL Server 2017 (14.x)

Este artigo descreve como usar ferramentas padrão de R para instalar novos pacotes R numa instância de SQL Server Machine Learning Services ou SQL Server R Services. Pode instalar pacotes num SQL Server que tenha ligação à Internet, bem como num que esteja isolado da Internet.

Para além das ferramentas padrão de R, pode instalar pacotes R utilizando:

  • T-SQL (CREATE EXTERNAL LIBRARY)

Considerações gerais

  • O código R a correr no SQL Server pode usar apenas pacotes instalados na biblioteca de instâncias padrão. 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.

  • A biblioteca de pacotes R está localizada na pasta Program Files da sua instância do SQL Server e, por defeito, instalar nesta pasta requer permissões de administrador. Para mais informações, consulte a localização da biblioteca de pacotes.

    Os não-administradores podem instalar pacotes usando RevoScaleR 9.0.1 e versões posteriores, ou usando CREATE EXTERNAL LIBRARY. O utilizador dbo_owner , ou um utilizador com CREATE EXTERNAL LIBRARY permissão, pode instalar pacotes R na base de dados atual. Para obter mais informações, consulte:

  • Em um ambiente SQL Server protegido, convém evitar o seguinte:

    • Pacotes que requerem acesso à rede
    • Pacotes que requerem acesso elevado ao sistema de ficheiros
    • Pacotes usados para desenvolvimento da Web ou outras tarefas que não se beneficiam da execução dentro do SQL Server

Instalação online (com acesso à Internet)

Se o SQL Server tiver acesso à Internet, então pode usar ferramentas padrão de instalação de pacotes para instalar pacotes R.

  1. Determine a localização da biblioteca de instâncias (veja Get R package information) e navegue até à pasta onde as ferramentas R estão instaladas.

    Por exemplo, o caminho padrão para uma instância padrão do SQL Server é:

    C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\bin\x64\

  2. Execute R ou Rgui como administrador a partir desta pasta.

  3. Executa o comando install.packages R e especifica o nome do pacote. Se o pacote tiver alguma dependência, o instalador descarrega automaticamente essas dependências e instala-as.

Se tiver várias instâncias lado a lado do SQL Server, execute a instalação separadamente para cada instância em que pretende usar o pacote. Os pacotes não podem ser partilhados entre instâncias.

Instalação offline (sem acesso à internet)

Frequentemente, servidores que alojam bases de dados de produção não têm ligação à internet. Para instalar pacotes R nesse ambiente, descarregas e preparas os pacotes e dependências antecipadamente (como ficheiros comprimidos), e depois copias os ficheiros para uma pasta no servidor. Depois de os ficheiros estarem no lugar, os pacotes podem ser instalados offline.

Identificar todas as dependências torna-se complicado. Para R, recomendamos que use o miniCRAN para criar um repositório local. o miniCRAN recolhe uma lista de pacotes que quer instalar, analisa dependências e recolhe todos os ficheiros comprimidos necessários. Depois, cria um único repositório que podes copiar para a instância isolada do SQL Server. O pacote igraph também é útil para analisar dependências de pacotes.

Para mais informações, consulte Criar um repositório local de pacotes R usando miniCRAN.

Depois de o ficheiro zip estar na instância do SQL Server, podes instalá-lo usando as ferramentas padrão do R no servidor.

  1. Determine a localização da biblioteca de instâncias (veja Get R package information) e navegue até à pasta onde as ferramentas R estão instaladas.

    Por exemplo, o caminho padrão para uma instância padrão do SQL Server é:

    C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\bin\x64\

  2. Execute R ou Rgui como administrador a partir desta pasta.

  3. Execute o comando install.packages R e especifique o nome do pacote ou repositório, bem como a localização dos ficheiros comprimidos. Por exemplo:

    install.packages("C:\\Temp\\Downloaded packages\\mynewpackage.zip", repos=NULL)
    

    Este comando extrai o pacote mynewpackage R do seu ficheiro zip local e instala o pacote. Se o pacote tiver alguma dependência, o instalador verifica pacotes existentes na biblioteca. Se criou um repositório que inclui as dependências, o instalador instala também os pacotes necessários.

    Note

    Se nenhum pacote necessário estiver presente na biblioteca de instâncias e não puder ser encontrado nos ficheiros comprimidos, a instalação do pacote de destino falha.

Como alternativa ao miniCRAN, pode executar estes passos manualmente:

  1. Identifique todas as dependências dos pacotes.
  2. Verifique se já existem pacotes necessários instalados no servidor. Se o pacote estiver instalado, verifica se a versão está correta.
  3. Descarregue o pacote e todas as dependências para um computador separado com acesso à Internet.
  4. Coloque o pacote e as dependências num único arquivo de pacotes.
  5. Comprime o arquivo se ainda não estiver em formato zip.
  6. Mude os ficheiros para uma pasta acessível pelo servidor.
  7. Execute um comando de instalação suportado ou uma instrução DDL para instalar o pacote na biblioteca de instâncias.

Consulte também