Instalar Serviços de Machine Learning do SQL Server 2019 (R e Python) no Linux
Aplica-se a: SQL Server 2019 (15.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 RHEL (Red Hat Enterprise Linux), no SLES (SUSE Linux Enterprise Server) e no Ubuntu. Para obter mais informações, confira a seção Plataformas com suporte nas Diretrizes de instalação para SQL Server em Linux.
Importante
Essas instruções são específicas do SQL Server 2019 (15.x). No SQL Server 2022 (16.x), em que as etapas de instalação são diferentes, veja Instalar os Serviços de Machine Learning do SQL Server 2022 (Python e R) no Linux.
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 repositórios de origem para a instalação do mecanismo de banco de dados, execute os comandos de instalação de pacote mssql-mlservices usando o mesmo registro de repositório.
(Somente para R) O Microsoft R Open (MRO) fornece a distribuição base do R para o recurso de R no SQL Server e é um pré-requisito para usar o RevoScaleR, o MicrosoftML e outros pacotes de R instalados com os Serviços de Machine Learning.
- É necessária a instalação da versão 3.5.2 do MRO
- Registre o repositório
packages.microsoft.com
, conforme descrito abaixo, para instalar a distribuição MRO:microsoft-r-open-mro
emicrosoft-r-open-mkl
. - Veja abaixo o passo a passo para a instalação do MRO.
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.
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. A tabela a seguir descreve todos os pacotes disponíveis, mas para R e Python, você especifica pacotes que fornecem a instalação com todos os recursos ou a instalação com o mínimo de recursos.
Pacotes de instalação disponíveis:
Nome do pacote | Aplica-se a | Descrição |
---|---|---|
mssql-server-extensibility | Todos | Estrutura de extensibilidade usada para executar o Python e o R. |
microsoft-openmpi | Python, R | Interface de Passagem de Mensagem usada pelas bibliotecas do Rev* para paralelização no Linux. |
mssql-mlservices-python | Python | Distribuição open-source do Anaconda e do Python. |
mssql-mlservices-mlm-py | Python | Instalação completa. Fornece revoscalepy, microsoftml, modelos pré-treinados para personalização de imagem e análise de sentimentos de texto. |
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 do R composta por três pacotes. |
mssql-mlservices-mlm-r | R | Instalação completa. Fornece: RevoScaleR, MicrosoftML, sqlRUtils, olapR, modelos pré-treinados para personalização de imagem e análise de sentimento de texto. |
mssql-mlservices-packages-r | R | Instalação mínima. Fornece RevoScaleR, sqlRUtils, MicrosoftML, olapR. Exclui modelos pré-treinados. |
Instalar no RHEL
Siga as etapas abaixo para instalar os Serviços de Machine Learning do SQL Server no Red Hat Enterprise Linux (RHEL).
Instalar o MRO no RHEL
Os comandos a seguir registram o repositório que fornece o MRO. Após o registro, os comandos para instalar outros pacotes do R, como mssql-mlservices-mml-r, incluirão 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:
- Instale o suporte a idiomas de acordo com os seus requisitos (um ou vários idiomas).
- A instalação completa fornece todos os recursos disponíveis, incluindo modelos de machine learning pré-treinados.
- A instalação mínima exclui os modelos, mas ainda tem toda a funcionalidade.
Dica
Se possível, execute yum clean all
para atualizar os pacotes no sistema antes da instalação.
Instalação completa
Inclui:
- Python open-source
- R open-source
- Estrutura de extensibilidade
- Microsoft-openmpi
- Extensões (Python, R)
- Bibliotecas de aprendizado de máquina
- 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 mlsservices 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 open-source
- R open-source
- Estrutura de extensibilidade
- Microsoft-openmpi
- Bibliotecas principais do Revo*
- Bibliotecas de aprendizado de máquina
# Install as root or sudo
# Minimum install of R, Python extensions
# Be sure to include -9.4.6* in mlsservices package names
sudo yum install mssql-mlservices-packages-py-9.4.7*
sudo yum install mssql-mlservices-packages-r-9.4.7*
Instalação no Ubuntu
Siga as etapas abaixo para instalar os Serviços de Machine Learning do SQL Server no Ubuntu.
Instalação do MRO no Ubuntu
Os comandos a seguir registram o repositório que fornece o MRO. Após o registro, os comandos para instalar outros pacotes do R, como mssql-mlservices-mml-r, incluirão 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:
- Instale o suporte a idiomas de acordo com os seus requisitos (um ou vários idiomas).
- A instalação completa fornece todos os recursos disponíveis, incluindo modelos de machine learning pré-treinados.
- A instalação mínima exclui os modelos, mas ainda tem toda a funcionalidade.
Dica
Se possível, execute apt-get update
para atualizar os pacotes no sistema antes da instalação.
Instalação completa
Inclui:
- Python open-source
- R open-source
- Estrutura de extensibilidade
- Microsoft-openmpi
- Extensões do Python
- Extensões de R
- Bibliotecas de aprendizado de máquina
- 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 open-source
- R open-source
- Estrutura de extensibilidade
- Microsoft-openmpi
- Bibliotecas principais do Revo*
- Bibliotecas de aprendizado de máquina
# 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 SLES
Siga as etapas abaixo para instalar os Serviços de Machine Learning do SQL Server no SUSE Linux Enterprise Server (SLES).
Instalar o MRO no SLES
Os comandos a seguir registram o repositório que fornece o MRO. Após o registro, os comandos para instalar outros pacotes do R, como mssql-mlservices-mml-r, incluirão 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:
- Instale o suporte a idiomas de acordo com os seus requisitos (um ou vários idiomas).
- A instalação completa fornece todos os recursos disponíveis, incluindo modelos de machine learning pré-treinados.
- A instalação mínima exclui os modelos, mas ainda tem toda a funcionalidade.
Instalação completa
Inclui:
- Python open-source
- R open-source
- Estrutura de extensibilidade
- Microsoft-openmpi
- Extensões para Python e R
- Bibliotecas de aprendizado de máquina
- 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 open-source
- R open-source
- Estrutura de extensibilidade
- Microsoft-openmpi
- Bibliotecas principais do Revo*
- Bibliotecas de aprendizado de máquina
# 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 é principalmente por meio da ferramenta mssql-conf.
Após a conclusão da instalação do pacote, execute a instalação de mssql-conf e siga os prompts para definir a senha SA e escolher sua edição. Execute esta etapa somente se você ainda não tiver configurado o SQL Server em Linux.
sudo /opt/mssql/bin/mssql-conf setup
Aceite os contratos de licença para as extensões do R e do Python open-source. Use o seguinte comando:
# Run as SUDO or root # Use set + EULA sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y
A instalação detecta os pacotes mssql-mlservices e solicita a aceitação do EULA (se não foi aceito anteriormente) quando
mssql-conf setup
é executado. Para obter mais informações sobre os parâmetros do EULA, confira Configurar o SQL Server com a ferramenta mssql-conf.Habilite o acesso à rede de saída. O acesso à rede de saída está desabilitado por padrão. Para habilitar as solicitações de saída, defina a propriedade booliana "outboundnetworkaccess" usando a ferramenta mssql-conf. Para obter mais informações, confira Configurar o 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
Somente para a integração de recursos do R, defina a variável de ambiente MKL_CBWR para garantir a saída consistente dos cálculos da Intel MKL (Math Kernel Library).
Edite ou crie um arquivo
.bash_profile
no diretório base do usuário, adicionando a linhaexport MKL_CBWR="AUTO"
ao arquivo.Execute esse arquivo digitando
source .bash_profile
em um prompt de comando de Bash.
Reinicie o serviço SQL Server Launchpad e a instância do mecanismo de banco de dados para ler os valores atualizados no arquivo INI. Uma mensagem de notificação é exibida quando uma configuração relacionada à extensibilidade é modificada.
systemctl restart mssql-launchpadd systemctl restart mssql-server.service
Habilite a execução de script externo usando o Azure Data Studio ou outra ferramenta como o SQL Server Management Studio (somente Windows) que executa Transact-SQL.
EXEC sp_configure 'external scripts enabled', 1 RECONFIGURE WITH OVERRIDE
Reinicie o serviço de Launchpad novamente.
Verifique a instalação
As bibliotecas do R (MicrosoftML, RevoScaleR e outras) podem ser encontradas em /opt/mssql/mlservices/libraries/RServer
.
As bibliotecas do Python (microsoftml e revoscalepy) podem ser encontradas em /opt/mssql/mlservices/libraries/PythonServer
.
Para validar a instalação:
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 autônoma
Usando a instalação autônoma do mecanismo de banco de dados, adicione os pacotes para mssql-mlservices e EULAs.
Use um dos parâmetros do EULA específicos do mlservices para as distribuições do R e do Python open-source:
sudo /opt/mssql/bin/mssql-conf setup accept-eula-ml
O EULA completo está documentado em Configurar o SQL Server em Linux com a ferramenta mssql-conf.
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
.
Site de download
Baixe pacotes em https://packages.microsoft.com/. Todos os pacotes mlservices para o Python e o R são colocados com o pacote do mecanismo de banco de dados. A versão básica para os pacotes mlservices é 9.4.6. Lembre-se de que os pacotes do microsoft-r-open estão em um repositório diferente.
Caminhos HEL/8
Pacote | Local de download |
---|---|
Pacotes mssql/mlservices | https://packages.microsoft.com/rhel/8/mssql-server-2019/ |
Pacotes microsoft-r-open | https://packages.microsoft.com/rhel/8/prod/ |
Caminhos do Ubuntu/20.04
Pacote | Local de download |
---|---|
Pacotes mssql/mlservices | https://packages.microsoft.com/ubuntu/20.04/mssql-server-2019/pool/main/m/ |
Pacotes microsoft-r-open | https://packages.microsoft.com/ubuntu/20.04/prod/pool/main/m/ |
Caminhos SLES/12
Pacote | Local de download |
---|---|
Pacotes mssql/mlservices | https://packages.microsoft.com/sles/12/mssql-server-2019/ |
Pacotes microsoft-r-open | https://packages.microsoft.com/sles/12/prod/ |
Selecione as extensões que deseja usar e baixe os pacotes necessários para uma linguagem específica. Os nomes de arquivos incluem informações da plataforma no sufixo.
Lista de pacotes
Dependendo de quais extensões você deseja usar, baixe os pacotes necessários para uma linguagem específica. Os nomes de arquivos exatos incluem informações de plataforma no sufixo, mas os nomes de arquivo abaixo devem ser próximos o suficiente para que você determine quais arquivos serão obtidos.
# 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
Conteúdo relacionado
Os desenvolvedores do Python podem aprender a usar o Python com o SQL Server seguindo estes tutoriais:
- Tutorial do Python: Prever o aluguel de esquis com regressão linear nos Serviços de Machine Learning do SQL Server
- Tutorial do Python: Categorizar clientes que usam cluster K-means com Serviços de Machine Learning do SQL Server
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: