Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server 2019 (15.x) e versões
posteriores Azure SQL Managed Instance
Este artigo descreve como usar funções no pacote sqlmlutils para instalar novos pacotes Python numa instância de Machine Learning Services no SQL Server e em Big Data Clusters. Os pacotes que você instala podem ser usados em scripts Python executados na base de dados usando a instrução T-SQL sp_execute_external_script.
Este artigo descreve como usar funções no pacote sqlmlutils para instalar novos pacotes Python numa instância de Azure SQL Managed Instance Machine Learning Services. Os pacotes que instala podem ser usados em scripts Python que são executados diretamente na base de dados, utilizando a instrução T-SQL sp_execute_external_script.
Observação
Não pode atualizar ou desinstalar pacotes que tenham sido pré-instalados numa instância do SQL Managed Instance Machine Learning Services. Para ver uma lista de pacotes atualmente instalados, consulte Listar todos os pacotes Python instalados.
Para mais informações sobre localização de pacotes e caminhos de instalação, consulte Obter informações de pacotes em Python.
Observação
O pacote sqlmlutils descrito neste artigo é utilizado para adicionar pacotes Python ao SQL Server 2019 ou posterior. Para SQL Server 2017 e anteriores, consulte Instalar pacotes com ferramentas Python.
Pré-requisitos
- Deve ter instalado o SQL Server Machine Learning Services com a opção da linguagem Python.
Instale o Azure Data Studio no computador cliente que usa para se ligar ao SQL Server. Pode usar outras ferramentas de gestão de bases de dados ou consultas, mas este artigo assume o Azure Data Studio.
Instala o kernel Python no Azure Data Studio. Também pode instalar e usar Python a partir da linha de comandos, e pode usar um ambiente de desenvolvimento Python alternativo, como o Visual Studio Code , com a Extensão Python.
A versão de Python no computador cliente tem de corresponder à versão de Python do servidor, e os pacotes que instalar devem ser compatíveis com a versão de Python que tem. Para informações sobre qual versão de Python está incluída em cada versão do SQL Server, veja versões Python e R.
Para verificar a versão do Python numa instância específica do SQL Server, utilize o seguinte comando T-SQL.
EXECUTE sp_execute_external_script @language = N'Python', @script = N' import sys print(sys.version) '
Outras considerações
A biblioteca de pacotes Python está localizada na pasta Program Files da sua instância SQL Server e, por defeito, instalar nesta pasta requer permissões de administrador. Para mais informações, consulte a localização da biblioteca de pacotes.
A instalação de pacotes é específica para a instância SQL, base de dados e utilizador que especifica na informação de ligação que fornece ao sqlmlutils. Para usar o pacote em múltiplas instâncias SQL ou bases de dados, ou para diferentes utilizadores, terá de instalar o pacote para cada uma. A exceção é que, se o pacote for instalado por um membro de
dbo, o pacote é público e partilhado com todos os utilizadores. Se um utilizador instalar uma versão mais recente de um pacote público, o pacote público não é afetado, mas esse utilizador terá acesso à versão mais recente.Antes de adicionar um pacote, considere se este se adequa ao ambiente SQL Server.
Recomendamos que utilize Python dentro da base de dados para tarefas que beneficiam de uma integração estreita com o motor de base de dados, como machine learning, em vez de tarefas que simplesmente consultam a base de dados.
Se adicionares pacotes que colocam demasiada pressão computacional no servidor, o desempenho sofrerá.
Num ambiente SQL Server reforçado, pode querer evitar o seguinte:
- Pacotes que requerem acesso à rede
- Pacotes que requerem acesso elevado ao sistema de ficheiros
- Pacotes usados para desenvolvimento web ou outras tarefas que não beneficiam ao correr dentro do SQL Server
O pacote Python tensorflow não pode ser instalado usando sqlmlutils. Para mais informações e uma solução alternativa, consulte Problemas conhecidos nos Serviços de Aprendizagem Automática do SQL Server.
Instala o sqlmlutils no computador cliente
Para usar o sqlmlutils, primeiro precisa de o instalar no computador cliente que usa para se ligar ao SQL Server.
In Azure Data Studio
Se vais usar sqlmlutils no Azure Data Studio, podes instalá-lo usando a funcionalidade Gerenciar Pacotes num bloco de notas Python.
- Num bloco de notas do kernel Python no Azure Data Studio, clique em Gerir Pacotes.
- Clique em Adicionar novo.
- Introduza "sqlmlutils" no campo Pesquisar pacotes de Pips e clique em Pesquisar.
- Selecione a Versão do Pacote que quer instalar (recomenda-se a versão mais recente).
- Clica em Instalar e depois Fechar.
Da linha de comandos Python
Se vais usar sqlmlutils a partir de um prompt de comandos ou IDE em Python, podes instalar o sqlmlutils com um simples comando pip :
pip install sqlmlutils
Também podes instalar sqlmlutils a partir de um ficheiro zip:
- Certifica-te de que tens o pip instalado. Consulte pip installation para mais informações.
- Descarregue o ficheiro zip mais recente do sqlmlutilshttps://github.com/microsoft/sqlmlutils/tree/master/R/dist no computador do cliente. Não descompactes o ficheiro.
- Abra um Prompt de Comando e execute os seguintes comandos para instalar o pacote sqlmlutils . Substitua o caminho completo para o ficheiro zip sqlmlutils que descarregou – este exemplo assume que o ficheiro descarregado é
c:\temp\sqlmlutils-1.0.0.zip.pip install --upgrade --upgrade-strategy only-if-needed c:\temp\sqlmlutils-1.0.0.zip
Adicionar um pacote Python no SQL Server
Usando sqlmlutils, podes adicionar pacotes Python a uma instância SQL. Depois podes usar esses pacotes no teu código Python a correr na instância SQL. O sqlmlutils utiliza o CREATE EXTERNAL LIBRARY para instalar o pacote e cada uma das suas dependências.
No exemplo seguinte, irá adicionar o pacote de ferramentas de texto ao SQL Server.
Adicione o pacote online
Se o computador cliente que usa para se ligar ao SQL Server tiver acesso à Internet, pode usar o sqlmlutils para encontrar o pacote text-tools e quaisquer dependências pela Internet, e depois instalar o pacote remotamente numa instância do SQL Server.
No computador cliente, abre Python ou um ambiente Python.
Utilize os seguintes comandos para instalar o pacote text-tools . Substitua as suas próprias informações de conexão à base de dados do SQL Server (se usar a Autenticação do Windows, não precisa dos parâmetros
uidepwd).
No computador cliente, abre Python ou um ambiente Python.
Utilize os seguintes comandos para instalar o pacote text-tools . Substitua a sua própria informação de ligação à base de dados SQL Server.
import sqlmlutils
connection = sqlmlutils.ConnectionInfo(server="server", database="database", uid="username", pwd="password")
sqlmlutils.SQLPackageManager(connection).install("text-tools")
Adicionar o pacote offline
Se o computador cliente que usa para se ligar ao SQL Server não tiver ligação à Internet, pode usar o pip num computador com acesso à Internet para descarregar o pacote e quaisquer pacotes dependentes para uma pasta local. Depois copias a pasta para o computador cliente onde podes instalar o pacote offline.
Num computador com acesso à Internet
Abra um Prompt de Comando e execute o seguinte comando para criar uma pasta local que contenha o pacote text-tools . Este exemplo cria a pasta
c:\temp\text-tools.pip download text-tools -d c:\temp\text-toolsCopie a
text-toolspasta para o computador cliente. O exemplo seguinte assume que o copiou parac:\temp\packages\text-tools.
No computador cliente
Use sqlmlutils para instalar cada pacote (ficheiro WHL) que encontrar na pasta local criada pelo pip . Não importa a ordem em que instalas os pacotes.
Neste exemplo, o text-tools não tem dependências, por isso só há um ficheiro da text-tools pasta para instalar. Em contraste, um pacote como o scikit-plot tem 11 dependências, por isso encontrarias 12 ficheiros na pasta (o pacote scikit-plot e os 11 pacotes dependentes), e instalarias cada um deles.
Execute o seguinte script Python. Substitua o caminho real do ficheiro e o nome do pacote, e as suas próprias informações de conexão à base de dados do SQL Server (se usar a Autenticação do Windows, não precisa dos parâmetros uid e pwd). Repita a sqlmlutils.SQLPackageManager instrução para cada ficheiro de pacote na pasta.
Execute o seguinte script Python. Substitua o caminho real do ficheiro e o nome do pacote, e a sua própria informação de ligação à base de dados SQL Server. Repita a sqlmlutils.SQLPackageManager instrução para cada ficheiro de pacote na pasta.
import sqlmlutils
connection = sqlmlutils.ConnectionInfo(server="yourserver", database="yourdatabase", uid="username", pwd="password"))
sqlmlutils.SQLPackageManager(connection).install("text_tools-1.0.0-py3-none-any.whl")
Utilize o pacote
Agora pode usar o pacote num script Python no SQL Server. Por exemplo:
EXECUTE sp_execute_external_script
@language = N'Python',
@script = N'
from text_tools.finders import find_best_string
corpus = "Lorem Ipsum text"
query = "Ipsum"
first_match = find_best_string(query, corpus)
print(first_match)
'
Remover o pacote do SQL Server
Se quiser remover o pacote text-tools , use o seguinte comando Python no computador cliente, usando a mesma variável de ligação que definiu anteriormente.
sqlmlutils.SQLPackageManager(connection).uninstall("text-tools")
Mais funções sqlmlutils
O pacote sqlmlutils contém várias funções para gerir pacotes Python, bem como para criar, gerir e executar procedimentos armazenados e consultas num SQL Server. Para detalhes, consulte o ficheiro SQLMutils Python README.
Para informações sobre qualquer função sqlmlutils , use a função de ajuda em Python. Por exemplo:
import sqlmlutils
help(SQLPackageManager.install)
Próximos passos
Para informações sobre pacotes Python instalados nos Serviços de Aprendizagem Automática do SQL Server, consulte Obter informações sobre pacotes Python.
Para informações sobre a instalação de pacotes R nos Serviços de Aprendizagem Automática do SQL Server, consulte Instalar novos pacotes R no SQL Server.