Free cookie consent management tool by TermsFeed Policy Generator

#033 How to Run Python Script in SQL Server

Apresetnamos como executar scripts em Python na consulta SQL utilizando o recurso SQL Server Machine Learning Services integrado na instância SQL Server.

Iremos conhecer as técnicas:

O SQL Server Machine Learning Services permite integrar linguagens de programação estatística e de machine learning, como R e Python, diretamente em consultas T-SQL. Vamos explorar cada tópico:

1. Tipos de dados necessários para os parâmetros (NVARCHAR):

  • Ao passar parâmetros entre T-SQL e scripts R ou Python, você geralmente usa o tipo de dados NVARCHAR para converter dados entre diferentes tipos. Isso é comum ao passar strings, por exemplo.

Exemplo:

   DECLARE @parametro NVARCHAR(100) = 'Exemplo';

2. Importar biblioteca Python (PACKAGE):

  • Ao utilizar Python no SQL Server, você precisa importar as bibliotecas necessárias para o seu script.

Exemplo:

   EXEC sp_execute_external_script
      @language = N'Python',
      @script = N'
         import pandas as pd
         # Seu código Python aqui
      ';

3. Converter variáveis em Data Frame (BRACKETS, PANDAS):

  • Ao manipular dados em Python, você frequentemente converte variáveis em DataFrames, uma estrutura tabular eficiente.

Exemplo:

   EXEC sp_execute_external_script
      @language = N'Python',
      @script = N'
         import pandas as pd
         # Criar DataFrame a partir de variáveis
         df = pd.DataFrame({'Coluna1': [1, 2, 3], 'Coluna2': ['A', 'B', 'C']})
      ';

4. Exibir resultados em formato de tabela (DATAFRAME, WITH RESULT SETS):

  • Após executar o script, você pode retornar os resultados como um conjunto de resultados, que pode ser tratado no SQL Server.

Exemplo:

   EXEC sp_execute_external_script
      @language = N'Python',
      @script = N'
         import pandas as pd
         # Seu código Python aqui
         df = pd.DataFrame({'Coluna1': [1, 2, 3], 'Coluna2': ['A', 'B', 'C']})
         OutputDataSet = df
      '
      WITH RESULT SETS ((Coluna1 int, Coluna2 varchar(10)));

5. Utilizar resultado de consulta SQL como parâmetro de entrada (@INPUT_DATA):

  • Você pode passar dados de uma consulta T-SQL para scripts Python ou R utilizando o parâmetro @INPUT_DATA.

Exemplo:

   DECLARE @consulta NVARCHAR(MAX) = 'SELECT Coluna1, Coluna2 FROM SuaTabela';

   EXEC sp_execute_external_script
      @language = N'Python',
      @script = N'
         import pandas as pd
         # Utilizar dados de consulta SQL
         df = InputDataSet
      ',
      @input_data_1 = @consulta
      WITH RESULT SETS ((Coluna1 int, Coluna2 varchar(10)));

Esses exemplos ilustram como usar SQL Server Machine Learning Services para integrar scripts Python em consultas T-SQL, passando dados entre as linguagens e retornando resultados formatados como tabelas.

This content contains
  • Content Video
  • Language Portuguese
  • Duration 5m 24s
  • Subtitles Não

  • Reading time 1 min 45 seg

avatar
Fabio Santos

Data Scientist and Consultant for Digital and Analytics Solutions


  • Share

Youtube Channel

@fabioms

Subscribe now