Partilhar via


Instale os Serviços de Aprendizagem Automática do SQL Server 2019 (Python e R) no Linux

Aplica-se a: SQL Server 2019 (15.x) no Linux

Este artigo orienta-o na instalação dos Serviços de Aprendizagem Automática SQL Server no Linux. Scripts Python e R podem ser executados na base de dados usando Serviços de Aprendizagem Automática.

Pode instalar Serviços de Aprendizagem Automática no Red Hat Enterprise Linux (RHEL), SUSE Linux Enterprise Server (SLES) e Ubuntu. Para mais informações, consulte a secção Plataformas Suportadas na orientação de Instalação para SQL Server no Linux.

Importante

Estas instruções são específicas do SQL Server 2019 (15.x). Para o SQL Server 2022 (16.x), onde os passos de instalação são diferentes, consulte Instalar SQL Server 2022 Machine Learning Services (Python e R) no Linux.

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

  • Orientação de instalação para SQL Server no Linux e verifique a instalação.

  • Verifique os repositórios SQL Server Linux para as extensões Python e R. Se já configurou repositórios de origem para a instalação do motor de base de dados, pode executar os comandos de instalação do pacote mssql-mlservices usando o mesmo registo de repositório.

  • (Só R) O Microsoft R Open (MRO) fornece a distribuição base de R para a funcionalidade R no SQL Server e é um pré-requisito para usar RevoScaleR, MicrosoftML e outros pacotes R instalados com Serviços de Aprendizagem Automática.

    • A versão necessária é MRO 3.5.2.
    • Registe o packages.microsoft.com repositório conforme descrito mais adiante neste artigo para instalar a distribuição MRO: microsoft-r-open-mro e microsoft-r-open-mkl.
    • Consulte as secções de instalação mais adiante neste artigo para saber como instalar o MRO.
  • Deverias ter uma ferramenta para executar comandos T-SQL.

Lista de pacotes

Num dispositivo ligado à internet, os pacotes são descarregados e instalados independentemente do motor de base de dados usando o instalador de pacotes para cada sistema operativo. A tabela seguinte descreve todos os pacotes disponíveis, mas para R e Python, especifica pacotes que fornecem ou a instalação completa de funcionalidades ou a instalação mínima de funcionalidades.

Pacotes de instalação disponíveis:

Nome do pacote Aplica-se a Description
mssql-server-extensibility Todos Framework de extensibilidade usado para executar Python e R.
microsoft-openmpi Python, R Interface de passagem de mensagens usada pelas bibliotecas Rev* para paralelização no Linux.
mssql-mlservices-python Python Distribuição open-source de Anaconda e Python.
mssql-mlservices-mlm-py Python Instalação completa. Fornece revoscalepy, microsoftml, modelos pré-treinados para caracterização de imagens e análise de sentimento textual.
mssql-mlservices-packages-py Python Instalação mínima. Fornece revoscalepy e microsoftml.

Exclui modelos pré-treinados.
Microsoft-R-Open* R Distribuição open-source de R, composta por três pacotes.
mssql-mlservices-mlm-r R Instalação completa. Oferece: RevoScaleR, MicrosoftML, sqlRUtils, olapR, modelos pré-treinados para caracterização de imagens e análise de sentimento textual.
mssql-mlservices-packages-r R Instalação mínima. Fornece RevoScaleR, sqlRUtils, MicrosoftML, olapR.

Exclui modelos pré-treinados.

Instalar no RHEL

Siga estes passos para instalar os Serviços de Aprendizagem Automática do SQL Server no Red Hat Enterprise Linux (RHEL).

Instalar MRO no RHEL

Os seguintes comandos registam o repositório que fornece MRO. Após o registo, os comandos para instalar outros pacotes R, como mssql-mlservices-mml-r, incluem automaticamente o MRO como uma dependência de pacote.

# Import the Microsoft repository key

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

# Set the location of the package repo at the "prod" directory
# The following command is for version 8.x
# To get the version for 6.x or 7.x, replace 8 with 6 or 7, respectively.
rpm -Uvh https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm

# Update packages on your system (optional)
yum update

Opções de Instalação para Python e R:

  • Instala suporte linguístico com base nas tuas necessidades (uma ou várias línguas).
  • A instalação completa oferece todas as funcionalidades disponíveis, incluindo modelos pré-treinados de aprendizagem automática.
  • A instalação mínima exclui os modelos, mas mantém toda a funcionalidade.

Sugestão

Se possível, execute yum clean all para atualizar pacotes no sistema antes da instalação.

Instalação completa

Inclui:

  • Python de código aberto
  • R de código aberto
  • Quadro de extensibilidade
  • Microsoft-openmpi
  • Extensões (Python, R)
  • Bibliotecas de aprendizagem automática
  • Modelos pré-treinados para Python e R
# Install as root or sudo
# Add everything (all R, Python)
# Be sure to include -9.4.7* in mlservices package names
sudo yum install mssql-mlservices-mlm-py-9.4.7*
sudo yum install mssql-mlservices-mlm-r-9.4.7*

Instalação mínima

Inclui:

  • Python de código aberto
  • R de código aberto
  • Quadro de extensibilidade
  • Microsoft-openmpi
  • Bibliotecas Core Revo*
  • Bibliotecas de aprendizagem automática
# Install as root or sudo
# Minimum install of R, Python extensions
# Be sure to include -9.4.6* in mlservices package names
sudo yum install mssql-mlservices-packages-py-9.4.7*
sudo yum install mssql-mlservices-packages-r-9.4.7*

Instalar no Ubuntu

Siga estes passos para instalar os Serviços de Aprendizagem Automática do SQL Server no Ubuntu.

Instalar o MRO no Ubuntu

Os seguintes comandos registam o repositório que fornece MRO. Após o registo, os comandos para instalar outros pacotes R, como mssql-mlservices-mml-r, incluem automaticamente o MRO como uma dependência de pacote.

# Install as root
sudo su

# Optionally, if your system does not have the https apt transport option
apt-get install apt-transport-https

# If you are on Ubuntu 20.04, install the following package (MRO 3.5 has a dependency on libtinfo.so.5 in Ubuntu 20.04)
apt-get install libncurses5

# Set the location of the package repo the "prod" directory containing the distribution.
# This example specifies 20.04. Replace with 16.04 or 14.04 if you want those versions.
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb

# Register the repo
dpkg -i packages-microsoft-prod.deb

# Update packages on your system (required), including MRO installation
sudo apt-get update

Opções de Instalação para Python e R:

  • Instala suporte linguístico com base nas tuas necessidades (uma ou várias línguas).
  • A instalação completa oferece todas as funcionalidades disponíveis, incluindo modelos de aprendizagem automática pré-treinados.
  • A instalação mínima exclui os modelos, mas mantém toda a funcionalidade.

Sugestão

Se possível, execute apt-get update para atualizar pacotes no sistema antes da instalação.

Instalação completa

Inclui:

  • Python de código aberto
  • R de código aberto
  • Quadro de extensibilidade
  • Microsoft-openmpi
  • Extensões Python
  • Extensões R
  • Bibliotecas de aprendizagem automática
  • Modelos pré-treinados para Python e R
# Install as root or sudo
# Add everything (all R, Python)
# There is no asterisk in this full install
sudo apt-get install mssql-mlservices-mlm-py
sudo apt-get install mssql-mlservices-mlm-r

Instalação mínima

Inclui:

  • Python de código aberto
  • R de código aberto
  • Quadro de extensibilidade
  • Microsoft-openmpi
  • Bibliotecas Core Revo*
  • Bibliotecas de aprendizagem automática
# Install as root or sudo
# Minimum install of R, Python
# No asterisk
sudo apt-get install mssql-mlservices-packages-py
sudo apt-get install mssql-mlservices-packages-r

Instalar no SUSE Linux Enterprise Server

Siga estes passos para instalar os Serviços de Aprendizagem Automática SQL Server no SUSE Linux Enterprise Server (SLES).

Instalar o MRO no SLES

Os seguintes comandos registam o repositório que fornece MRO. Após o registo, os comandos para instalar outros pacotes R, como mssql-mlservices-mml-r, incluem automaticamente o MRO como uma dependência de pacote.

# Install as root
sudo su

# Set the location of the package repo at the "prod" directory containing the distribution
# This example is for SLES12
zypper ar -f https://packages.microsoft.com/sles/12/prod packages-microsoft-com

# Update packages on your system (optional)
zypper update

Opções de Instalação para Python e R:

  • Instala suporte linguístico com base nas tuas necessidades (uma ou várias línguas).
  • A instalação completa oferece todas as funcionalidades disponíveis, incluindo modelos de aprendizagem automática pré-treinados.
  • A instalação mínima exclui os modelos, mas mantém toda a funcionalidade.

Instalação completa

Inclui:

  • Python de código aberto
  • R de código aberto
  • Quadro de extensibilidade
  • Microsoft-openmpi
  • Extensões para Python e R
  • Bibliotecas de aprendizagem automática
  • Modelos pré-treinados para Python e R
# Install as root or sudo
# Add everything (all R, Python)
sudo zypper install mssql-mlservices-mlm-py
sudo zypper install mssql-mlservices-mlm-r

Instalação mínima

Inclui:

  • Python de código aberto
  • R de código aberto
  • Quadro de extensibilidade
  • Microsoft-openmpi
  • Bibliotecas Core Revo*
  • Bibliotecas de aprendizagem automática
# Install as root or sudo
# Minimum install of R, Python extensions
sudo zypper install mssql-mlservices-packages-py
sudo zypper install mssql-mlservices-packages-r

Configuração pós-instalação (obrigatória)

A configuração adicional é feita principalmente através da ferramenta mssql-conf.

  1. Depois de terminar a instalação do pacote, executa a configuração do mssql-conf e segue as instruções para definir a sa palavra-passe e escolher a tua edição. Realize este passo apenas se o SQL Server no Linux ainda não estiver configurado.

    sudo /opt/mssql/bin/mssql-conf setup
    
  2. Aceitar os acordos de licenciamento para extensões open source em Python e R. Use o seguinte comando:

    # Run as SUDO or root
    # Use set + EULA
    sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y
    

    O Setup deteta os pacotes mssql-mlservices e solicita a aceitação de EULA (se não for aceite anteriormente) quando mssql-conf setup é executado. Para mais informações sobre parâmetros EULA, consulte Configurar SQL Server com a ferramenta mssql-conf.

  3. Ativar o acesso à rede de saída. O acesso à rede de saída está desativado por defeito. Para permitir pedidos de saída, defina a propriedade booleana "outboundnetworkaccess" usando a ferramenta mssql-conf. Para mais informações, consulte Configurar SQL Server em Linux com mssql-conf.

    # Run as SUDO or root
    # Enable outbound requests over the network
    sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1
    
  4. Para integração apenas de funcionalidades R, defina a MKL_CBWR variável ambiente para garantir uma saída consistente dos cálculos da Intel Math Kernel Library (MKL).

    • Edite ou crie um ficheiro .bash_profile no diretório pessoal do utilizador, adicionando a linha export MKL_CBWR="AUTO" ao ficheiro.

    • Execute este ficheiro escrevendo source .bash_profile num prompt de comandos bash.

  5. Reinicie o serviço SQL Server Launchpad e a instância do motor de base de dados para ler os valores atualizados do ficheiro INI. Uma mensagem de notificação é exibida quando uma configuração relacionada com extensibilidade é modificada.

    systemctl restart mssql-launchpadd
    
    systemctl restart mssql-server.service
    
  6. Ativar a execução de scripts externos. Você pode se conectar a uma instância do SQL Server usando qualquer ferramenta de cliente familiar do SQL Server, como sqlcmd, SQL Server Management Studio (SSMS) ou a extensão MSSQL para Visual Studio Code.

    EXECUTE sp_configure 'external scripts enabled', 1;
    
    RECONFIGURE WITH OVERRIDE;
    
  7. Reinicie novamente o serviço Launchpad.

Verificar instalação

As bibliotecas R (MicrosoftML, RevoScaleR e outras) podem ser encontradas em /opt/mssql/mlservices/libraries/RServer.

Bibliotecas em Python (microsoftml e revoscalepy) podem ser encontradas em /opt/mssql/mlservices/libraries/PythonServer.

Para validar a instalação:

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

  • Execute o seguinte comando T-SQL para testar a execução de R no SQL Server. Erros? Tente reiniciar o serviço, sudo systemctl restart mssql-server.service.

    EXECUTE 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 seguinte comando T-SQL para testar a execução em Python no SQL Server.

    EXECUTE 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 sem assistência

Usando a instalação não assistida do Motor de Base de Dados, adicione os pacotes para mssql-mlservices e EULAs.

Use um dos parâmetros EULA específicos de mlservices para as distribuições open-source R e Python:

sudo /opt/mssql/bin/mssql-conf setup accept-eula-ml

O EULA completo está documentado em Configure SQL Server no Linux com a ferramenta mssql-conf.

Instalação offline

Siga as instruções de instalação offline para os passos de instalação dos pacotes. Encontre o seu site de downloads e depois descarregue pacotes específicos usando a lista de pacotes que se segue.

Sugestão

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

Site de download

Descarregue pacotes de https://packages.microsoft.com/. Todos os mlservices pacotes para Python e R estão co-localizados com o pacote do motor de base de dados. A versão base dos mlservices pacotes é a 9.4.6. Lembre-se que os pacotes microsoft-r-open estão num repositório diferente.

Percursos RHEL/8

Package Localização do download
mssql / mlservices Pacotes https://packages.microsoft.com/rhel/8/mssql-server-2019/
microsoft-r-open Pacotes https://packages.microsoft.com/rhel/8/prod/

Caminhos do Ubuntu/20.04

Package Localização do download
mssql / mlservices Pacotes https://packages.microsoft.com/ubuntu/20.04/mssql-server-2019/pool/main/m/
microsoft-r-open Pacotes https://packages.microsoft.com/ubuntu/20.04/prod/pool/main/m/

Caminhos SLES/12

Package Localização do download
mssql / mlservices Pacotes https://packages.microsoft.com/sles/12/mssql-server-2019/
microsoft-r-open Pacotes https://packages.microsoft.com/sles/12/prod/

Selecione as extensões que queira usar e descarregue os pacotes necessários para uma linguagem específica. Os nomes dos ficheiros incluem informações da plataforma no sufixo.

Lista de pacotes

Dependendo das extensões que queres usar, descarrega os pacotes necessários para uma linguagem específica. Os nomes exatos dos ficheiros incluem a informação da plataforma no sufixo, mas os seguintes nomes de ficheiros devem ser suficientemente próximos para que possa determinar quais os ficheiros a adquirir.

# Core packages
mssql-server-15.0.1000
mssql-server-extensibility-15.0.1000

# R
microsoft-openmpi-3.0.0
microsoft-r-open-mkl-3.5.2
microsoft-r-open-mro-3.5.2
mssql-mlservices-packages-r-9.4.7.64
mssql-mlservices-mlm-r-9.4.7.64

# Python
microsoft-openmpi-3.0.0
mssql-mlservices-python-9.4.7.64
mssql-mlservices-packages-py-9.4.7.64
mssql-mlservices-mlm-py-9.4.7.64