Instalar os Serviços de Machine Learning do SQL Server 2022 (R e Python) no Linux

Aplica-se a: SQL Server 2022 (16.x) – Linux

Este artigo explica como instalar o Serviços de Machine Learning do SQL Server no Linux. Os scripts Python e R podem ser executados no banco de dados usando os Serviços de Machine Learning.

Você pode instalar os Serviços de Machine Learning no Ubuntu e no RHEL (Red Hat Enterprise Linux). Atualmente, o SLES (SUSE Linux Enterprise Server) não tem suporte.

Você pode instalar os Serviços de ML em um contêiner do Docker que execute uma distribuição do Linux. Dentro do contêiner do Docker, as etapas seriam as mesmas que abaixo.

Para obter mais informações, confira a seção Plataformas com suporte nas Diretrizes de instalação do SQL Server em Linux.

Importante

Este artigo refere-se ao SQL Server 2022 (16.x). Para o SQL Server 2019 em Linux, confira Instalar os Serviços de Machine Learning do SQL Server 2019 (Python e R) no Linux. Para o SQL Server no Windows, confira Instalar os Serviços de Machine Learning (Python e R) do SQL Server 2022 no Windows.

Lista de verificação pré-instalação

  • Instale o SQL Server em Linux e confirme a instalação.

  • Verifique os repositórios do SQL Server no Linux das extensões do Python e do R. Se você já configurou os repositórios de origem para a instalação do mecanismo de banco de dados, execute os comandos de instalação de pacote mssql-server-extensibility usando o mesmo registro de repositório.

  • Você deve ter uma ferramenta para executar comandos T-SQL.

    • Você pode usar o Azure Data Studio, uma ferramenta de banco de dados gratuita que é executada no Linux, no Windows e no macOS.
  • Será necessário reiniciar a instância de SQL Server durante esse processo de instalação.

Lista de pacotes

Em um dispositivo conectado à Internet, os pacotes são baixados e instalados independentemente do mecanismo de banco de dados usando o instalador de pacote para cada sistema operacional.

Pacotes de instalação disponíveis para o SQL Server 2022 (16.x) no Linux:

Nome do pacote Aplica-se a Descrição
mssql-server-extensibility Todos Estrutura de extensibilidade usada para executar o Python e o R.

Instalar o pacote mssql-server-extensibility

  1. Configure repositórios Linux correspondentes à distribuição do Linux. Instale o recurso de extensibilidade do SQL Server com o pacote mssql-server-extensibility e a dependência associada libssl-dev.

    Ubuntu

    sudo apt-get install mssql-server-extensibility libssl-dev
    

    RHEL

    yum install mssql-server-extensibility
    
  2. Examine e aceite o EULA (Contrato de Licença de Usuário Final) para Serviços de ML do SQL Server.

    sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y
    

    Para concluir a aceitação do EULA, a instância do SQL Server deve ser reiniciada.

    sudo systemctl restart mssql-server
    

Instalar runtimes e pacotes

Suporte à instalação do R

Instalar runtime do R

  1. Baixe e instale a versão do R desejada. Escolha uma versão do R 4.2 ou superior, disponível para download diretamente de cran.r-project.org. Siga as instruções para o runtime desejado.

  2. Abra um terminal R de administração:

    sudo R
    
  3. Instale as dependências de CompatibilityAPI e RevoScaleR executando o seguinte:

    # R Terminal
    install.packages("iterators", lib="/usr/lib/R/library")
    install.packages("foreach", lib="/usr/lib/R/library")
    install.packages("R6", lib="/usr/lib/R/library")
    install.packages("jsonlite", lib="/usr/lib/R/library")
    
  4. Baixe e instale CompatibilityAPI e RevoScaleR para Linux.

    install.packages("https://aka.ms/sqlml/r4.2/linux/CompatibilityAPI_1.1.0_R_x86_64-pc-linux-gnu.tar.gz", repos=NULL, lib="/usr/lib/R/library")
    install.packages("https://aka.ms/sqlml/r4.2/linux/RevoScaleR_10.0.1_R_x86_64-pc-linux-gnu.tar.gz", repos=NULL, lib="/usr/lib/R/library")
    
  5. Verifique a instalação do RevoScaleR no terminal do R.

    library("RevoScaleR")
    

Configurar o runtime do R com SQL Server

  1. Configure o runtime do R instalado com o SQL Server para Linux, em que path/to/ é o caminho do arquivo para o binário R e RFolderVersion é o nome da pasta específica da versão da instalação do runtime do R, por exemplo, R4.2.

    sudo /opt/mssql/bin/mssql-conf set extensibility rbinpath /usr/lib/R/bin/R
    sudo /opt/mssql/bin/mssql-conf set extensibility datadirectories /usr/lib/R
    
  2. Reinicie o serviço Launchpadd .

    systemctl restart mssql-launchpadd.service
    
  3. Configure o SQL Server para Linux a fim de permitir scripts externos usando o procedimento armazenado do sistema sp_configure.

    EXEC sp_configure 'external scripts enabled', 1;
    GO
    RECONFIGURE
    GO
    
  4. Verifique a instalação executando um comando T-SQL simples para retornar a versão do R:

    EXEC sp_execute_external_script @script=N'print(R.version)',@language=N'R';
    GO
    

Configurar o suporte ao Python

Instalar o runtime do Python

  1. Baixe e instale o Python. Escolha a versão Python 3.10 especificamente, disponível para download diretamente de python.org. Siga as instruções fornecidas. Além disso, instale a biblioteca de runtime do Python compartilhada para a versão de runtime desejada. Por exemplo, para instalar libpython3.10 para o Ubuntu: sudo apt-get install libpython3.10.

  2. Baixe e instale revoscalepy para o usuário raiz.

    sudo pip install dill numpy==1.22.0 pandas patsy python-dateutil
    sudo pip install https://aka.ms/sqlml/python3.10/linux/revoscalepy-10.0.1-py3-none-any.whl --target=/usr/lib/python3.10/dist-packages
    
  3. Verifique a instalação do revoscalepy no terminal do Python. Verifique se a biblioteca pode ser importada.

    import revoscalepy
    

Configurar o runtime do Python com SQL Server

  1. Configure o runtime do Python instalado com SQL Server, em que pythonbinbath é definido como o caminho do binário do Python instalado e datadirectories inclui o caminho em que os pacotes são instalados para a versão desejada do Python, por exemplo, /usr/lib/python3.10/dist-packages. Use o seguinte script com o caminho de instalação real:

    sudo /opt/mssql/bin/mssql-conf set extensibility pythonbinpath /usr/bin/python3.10
    sudo /opt/mssql/bin/mssql-conf set extensibility datadirectories /usr/lib:/usr/lib/python3.10/dist-packages
    
  2. Reinicie o serviço Launchpadd .

    systemctl restart mssql-launchpadd.service
    
  3. Configure o SQL Server para Linux a fim de permitir scripts externos usando o procedimento armazenado do sistema sp_configure.

    EXEC sp_configure 'external scripts enabled', 1;
    GO
    RECONFIGURE
    GO
    
  4. Verifique a instalação executando um comando T-SQL simples para retornar a versão do Python:

    EXEC sp_execute_external_script @script=N'import sys;print(sys.version)',@language=N'Python';
    GO
    

Instalar o Java

Para instalar a extensão de linguagem Java, confira Instalar a extensão da linguagem Java do SQL Server em Linux.

Verifique a instalação

Para validar a instalação, use qualquer um dos seguintes métodos:

  • Execute um script T-SQL que executa um procedimento armazenado do sistema invocando o Python ou o R com uma ferramenta de consulta.

  • Execute o comando do SQL a seguir para testar a execução do R no SQL Server. Erros? Tente executar uma reinicialização do serviço, sudo systemctl restart mssql-server.service.

    EXEC sp_execute_external_script   
    @language =N'R', 
    @script=N' 
    OutputDataSet <- InputDataSet', 
    @input_data_1 =N'SELECT 1 AS hello' 
    WITH RESULT SETS (([hello] int not null)); 
    GO 
    
  • Execute o comando do SQL a seguir para testar a execução do Python no SQL Server.

    EXEC sp_execute_external_script  
    @language =N'Python', 
    @script=N' 
    OutputDataSet = InputDataSet; 
    ', 
    @input_data_1 =N'SELECT 1 AS hello' 
    WITH RESULT SETS (([hello] int not null)); 
    GO 
    

Instalação offline

Siga as instruções de Instalação offline para conhecer as etapas da instalação dos pacotes. Localize o site de download e baixe os pacotes específicos usando a lista de pacotes abaixo.

Dica

Várias das ferramentas de gerenciamento de pacotes fornecem comandos que podem ajudá-lo a determinar as dependências do pacote. Para yum, use sudo yum deplist [package]. Para o Ubuntu, use sudo apt-get install --reinstall --download-only [package name] seguido por dpkg -I [package name].deb.

Pacotes autônomos do RevoScale para runtime do Python e do R

Os pacotes RevoScale também são compatíveis como pacotes autônomos com runtimes do Python e do R. Para configurar o runtime do Python ou do R para o cenário autônomo, siga as instruções nas seções Instalar runtime do Python e Instalar runtime do R, respectivamente.

Os desenvolvedores do Python podem aprender a usar o Python com o SQL Server seguindo estes tutoriais:

Os desenvolvedores do R podem começar com alguns exemplos simples e aprender os fundamentos de como o R funciona com o SQL Server. Para a próxima etapa, confira os links a seguir: