Instalar os Serviços de Machine Learning do SQL Server (Python e R) no Docker
Aplica-se a: SQL Server 2019 (15.x) – Linux
Este artigo explica como instalar os Serviços de Machine Learning do SQL Server no Docker. Você pode usar Serviços do Machine Learning (no banco de dados) para executar scripts de Python e R no banco de dados. Não fornecemos contêineres pré-criados com os Serviços de Machine Learning. Crie um com base nos contêineres do SQL Server usando um modelo de exemplo disponível no GitHub.
Pré-requisitos
Interface de linha de comando Git.
O Docker Engine 1.8 ou superior em qualquer distribuição do Linux com suporte. Para obter mais informações, confira Obter o Docker. Não há suporte para uso de produção do SQL Server em contêineres no Windows ou macOS.
Confira também os requisitos do sistema para o SQL Server em Linux.
Clonar o repositório mssql-docker
O comando a seguir clona o repositório git mssql-docker
para um diretório local.
Abra um terminal de Bash no Linux ou Mac.
Crie um diretório para manter uma cópia local do repositório mssql-docker.
Execute o comando git clone para clonar o repositório mssql-docker:
git clone https://github.com/microsoft/mssql-docker mssql-docker
Criar uma imagem de contêiner do SQL Server Linux
Conclua as seguintes etapas para criar a imagem do Docker:
Altere o diretório para mssql-mlservices:
/mssql-docker/linux/preview/examples/mssql-mlservices
No mesmo diretório, execute o seguinte comando:
docker build -t mssql-server-mlservices .
Execute o comando:
Importante
A variável de ambiente
SA_PASSWORD
foi preterida. UseMSSQL_SA_PASSWORD
em vez disso.docker run -d -e MSSQL_PID=Developer -e ACCEPT_EULA=Y -e ACCEPT_EULA_ML=Y -e MSSQL_SA_PASSWORD=<password> -v <directory on the host OS>:/var/opt/mssql -p 1433:1433 mssql-server-mlservices
Observação
Qualquer um dos seguintes valores podem ser usados para MSSQL_PID: Developer (gratuito), Express (gratuito), Enteprise (pago), Standard (pago). Se você estiver usando uma edição paga, verifique se comprou uma licença. Substitua (senha) pela sua senha real. A montagem de volume usando -v é opcional. Substitua (diretório no sistema operacional do host) por um diretório real no qual você deseja montar os dados do banco de dados e os arquivos de log.
Confirme-o executando o seguinte comando:
docker ps -a
Observação
Para compilar a imagem do Docker, você deve instalar pacotes com vários GBs de tamanho. A execução do script pode levar algum tempo para ser concluída dependendo da largura de banda da rede.
Executar a imagem de contêiner do SQL Server Linux
Defina suas variáveis de ambiente antes de executar o contêiner. Defina a variável de ambiente PATH_TO_MSSQL como um diretório de host:
export MSSQL_PID='Developer' export ACCEPT_EULA='Y' export ACCEPT_EULA_ML='Y' export PATH_TO_MSSQL='/home/mssql/'
Observação
O processo para executar edições de produção do SQL Server em contêineres é um pouco diferente. Para obter mais informações, confira Configurar imagens de contêiner do SQL Server no Docker. Se você usar os mesmo nomes e portas de contêiner, o restante deste tutorial ainda funcionará com contêineres de produção.
Para exibir seus contêineres, execute o comando
docker ps
:sudo docker ps -a
Se a coluna STATUS mostrar o status Up, o SQL Server estará em execução no contêiner e será escutado na porta especificada na coluna PORTS. Se a coluna STATUS do contêiner do SQL Server mostrar Exited, confira a seção Solução de problemas do guia de configuração.
Saída:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 941e1bdf8e1d mcr.microsoft.com/mssql/server/mssql-server-linux "/bin/sh -c /opt/m..." About an hour ago Up About an hour 0.0.0.0:1401->1433/tcp sql1
Habilitar Serviços de Machine Learning
Para habilitar os Serviços de Machine Learning, conecte-se à sua instância do SQL Server e execute a seguinte instrução T-SQL:
EXEC sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE
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: