Executar scripts do Python e do R com Serviços de Machine Learning em Clusters de Big Data do SQL Server 2019

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

Importante

O complemento Clusters de Big Data do Microsoft SQL Server 2019 será desativado. O suporte para Clusters de Big Data do SQL Server 2019 será encerrado em 28 de fevereiro de 2025. Todos os usuários existentes do SQL Server 2019 com Software Assurance terão suporte total na plataforma e o software continuará a ser mantido por meio de atualizações cumulativas do SQL Server até esse momento. Para obter mais informações, confira a postagem no blog de anúncio e as opções de Big Data na plataforma do Microsoft SQL Server.

Você pode executar scripts do Python e do R na instância mestra de Clusters de Big Data do SQL Server com Serviços de Machine Learning.

Observação

Você também pode executar o código Java na instância mestra dos Clusters de Big Data do SQL Server com a Extensão de Linguagem Java. A conclusão das etapas abaixo habilitará também as Extensões de Linguagem do SQL Server.

Habilitar Serviços de Machine Learning

O Serviços de Machine Learning são instalados por padrão em Clusters de Big Data do SQL Server 2019 e não exigem instalação separada.

Para habilitar Serviços de Machine Learning, execute esta instrução na instância mestra:

EXEC sp_configure 'external scripts enabled', 1
RECONFIGURE WITH OVERRIDE
GO

Agora você está pronto para executar scripts do Python e do R na instância mestra de Clusters de Big Data. Confira os guias de início rápido nas Próximas etapas para executar seu primeiro script.

Observação

A definição de configuração não pode ser definida em uma conexão de ouvinte do grupo de disponibilidade. Se os Clusters de Big Data forem implantados com alta disponibilidade, então defina external scripts enabled em cada réplica. Confira Habilitar o cluster com alta disponibilidade.

Habilitar o cluster com alta disponibilidade

Quando você Implanta o Cluster de Big Data do SQL Server com alta disponibilidade, a implantação cria um grupo de disponibilidade para a instância mestra. Para habilitar os Serviços de Machine Learning, defina external scripts enabled em cada instância do grupo de disponibilidade. Para um Cluster de Big data, você precisa executar sp_configure em cada réplica da instância mestra do SQL Server

A seção a seguir descreve como habilitar scripts externos em cada instância.

Criar um balanceador de carga externo para cada instância

Para cada réplica no grupo de disponibilidade, crie um balanceador de carga para permitir que você se conecte à instância.

kubectl expose pod <pod-name> --port=<connection port number> --name=<load-balancer-name> --type=LoadBalancer -n <kubernetes namespace>

Os exemplos neste artigo usam os seguintes valores:

  • <pod-name>: master-#
  • <connection port number>: 1533
  • <load-balancer-name>: mymaster-#
  • <kubernetes namespace>: mssql-cluster

Atualize o seguinte script para o seu ambiente e execute os comandos:

kubectl expose pod master-0 --port=1533 --name=mymaster-0 --type=LoadBalancer -n mssql-cluster
kubectl expose pod master-1 --port=1533 --name=mymaster-1 --type=LoadBalancer -n mssql-cluster
kubectl expose pod master-2 --port=1533 --name=mymaster-2 --type=LoadBalancer -n mssql-cluster

kubectl retorna a seguinte saída.

service/mymaster-0 exposed
service/mymaster-1 exposed
service/mymaster-2 exposed

Cada balanceador de carga é um ponto de extremidade de réplica mestre.

Habilitar a execução de script em cada réplica

  1. Obtenha o endereço IP do ponto de extremidade da réplica mestre.

    O comando a seguir retorna o endereço IP externo do ponto de extremidade da réplica.

    kubectl get services <load-balancer-name> -n <kubernetes namespace>

    Para obter o endereço IP externo para cada réplica neste cenário, execute os seguintes comandos:

    kubectl get services mymaster-0 -n mssql-cluster
    kubectl get services mymaster-1 -n mssql-cluster
    kubectl get services mymaster-2 -n mssql-cluster
    

    Observação

    Pode levar algum tempo para que o endereço IP externo esteja disponível. Execute o script anterior periodicamente até que cada ponto de extremidade retorne um endereço IP externo.

  2. Conecte-se ao ponto de extremidade de réplica mestre e habilite a execução de script.

    Execute esta instrução:

    EXEC sp_configure 'external scripts enabled', 1
    RECONFIGURE WITH OVERRIDE
    GO
    

    Por exemplo, você pode executar o comando anterior com sqlcmd. O exemplo a seguir conecta-se ao ponto de extremidade da réplica mestre e habilita a execução do script. Atualize os valores no script para seu ambiente.

    sqlcmd -S <IP address>,1533 -U <user name> -P <password> -Q "EXEC sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDE;"
    

    Repita a etapa para cada réplica.

Demonstração

A imagem a seguir demonstra esse processo.

Uma captura de tela do prompt de comando com uma demonstração das etapas necessárias para habilitar scripts externos.

Agora você está pronto para executar scripts do Python e do R na instância mestra de Clusters de Big Data. Confira os guias de início rápido nas Próximas etapas para executar seu primeiro script.

Excluir os pontos de extremidade de réplica mestre

No cluster do Kubernetes, exclua o ponto de extremidade de cada réplica. O ponto de extremidade é exposto no Kubernetes como um serviço de balanceamento de carga.

O comando a seguir exclui o serviço de balanceamento de carga.

kubectl delete svc <load-balancer-name> -n mssql-cluster

Para os exemplos neste artigo, execute os seguintes comandos.

kubectl delete svc mymaster-0 -n mssql-cluster
kubectl delete svc mymaster-1 -n mssql-cluster
kubectl delete svc mymaster-2 -n mssql-cluster

Guias de início rápido de machine learning de Clusters de Big Data do SQL Server

Guias de início rápido de Python

Inícios rápidos do R

Tutoriais de machine learning de Clusters de Big Data do SQL Server

Tutorial do Python

Ski rental (linear regression) (Aluguel de esqui [regressão linear])

Categorizar clientes (cluster k-means)

Dicas de táxi de NYC (classificação)

Tutoriais do R

Aluguel de esqui (árvore de decisão)

Categorizar clientes (cluster k-means)

Dicas de táxi de NYC (classificação)

Guias de instruções de machine learning de Clusters de Big Data do SQL Server

Exploração de dados e modelagem

Conversões de tipo de dados

Implantar

Previsões

Gerenciamento de pacotes

Instalar os novos pacotes Python

Instalar os novos pacotes R

Monitoramento

Segurança

Machine Learning do Spark

Próximas etapas