Criar SSIS e SSRS fluxos de trabalho com R no SQL Server

  • 08/28/2020
  • 5 minutos de leitura
    • d
    • M
    • um
    • D
    • c
    • +2

Aplica-se a: SQL Server 2016 (13.x) and later

This article explains how to use embedded R and Python script using the language and data science capabilities of SQL Server Machine Learning Services with two important SQL Server features: SQL Server Integration Services (SSIS) and SQL Server Reporting Services SSRS. As bibliotecas R e Python no servidor SQL fornecem funções estatísticas e preditivas. SSIS e SSRS fornecem a transformação e visualizações coordenadas da ETL, respectivamente. Este artigo explica como colocar todas estas características juntas neste padrão de fluxo de trabalho:

  • Criar um procedimento armazenado que contém o executável R ou Python
  • Execute o procedimento armazenado do SSIS ou SSRS

Os exemplos neste artigo são principalmente sobre R e SSIS, mas os conceitos e passos aplicam-se igualmente ao Python. A segunda seção fornece orientação e links para visualizações SSRS.

Use SSIS for automation

Data science workflows are highly iterative and involve much transformation of data, including scaling, aggregations, computation of probabilities, and renaming and merging of attributes. Os cientistas de dados estão acostumados a fazer muitas dessas tarefas em R, Python, ou outra linguagem; no entanto, a execução de tais fluxos de trabalho em dados empresariais requer uma integração perfeita com ferramentas e processos ETL.

porque os Serviços de R (in-Database) lhe permitem executar operações complexas em R através de Transact-SQL e procedimentos armazenados, você pode integrar as tarefas de ciência dos dados com os processos ETL existentes. Ao invés de executar uma cadeia de tarefas de memória intensiva, a preparação de dados pode ser otimizada usando as ferramentas mais eficientes, incluindo serviços de integração e Transact-SQL.

Aqui estão algumas ideias para como você pode automatizar o seu processamento de dados e modelagem de pipelines usando serviços de integração:

  • Extrair dados no local ou na nuvem fontes para construir dados de treinamento
  • Criar e executar R ou Python modelos como parte de uma integração de dados de fluxo de trabalho
  • Readaptação modelos regular (agendado) base
  • Carregar resultados a partir de R ou script Python para outros destinos, tais como Excel, Power BI, Oracle e Teradata, para citar alguns
  • Usar o SSIS tarefas para criar recursos de dados no banco de dados SQL
  • Usar ramificação condicional para mudar de computação contexto para R e Python trabalhos

SSIS exemplo

Este exemplo mostra como automatizar as tarefas usando SSIS. Você cria procedimentos armazenados com R incorporado usando SQL Server Management Studio, e então executa esses procedimentos armazenados a partir de executar tarefas T-SQL em um pacote SSIS.

para passar por este exemplo, você deve estar familiarizado com Estúdio de gestão, SSIS, Designer de SSIS, design de pacotes, e T-SQL. O pacote SSIS usa três tarefas de Execução T-SQL que inserir dados de treinamento em uma tabela, modelar os dados, e marcar os dados para obter a saída de previsão.

Load training data

Run the following script in SQL Server Management Studio to create a table for storing the data. Você deve criar e usar um banco de dados de testes para este exercício.

criar um procedimento armazenado que carrega os dados de formação para o quadro de dados. Este exemplo está usando o conjunto de dados embutido da Iris.

no Designer da SSIS, crie uma tarefa de execução de SQL que executa o procedimento armazenado que acabou de definir. O script para SQLStatement remove os dados existentes, especifica quais os dados a inserir e, em seguida, chama o procedimento armazenado para fornecer os dados.

Gerar um modelo

Execute o seguinte script no SQL Server Management Studio para criar uma tabela que armazena um modelo.

crie um procedimento armazenado que gera um modelo linear usando rxLinMod. As bibliotecas RevoScaleR e revoscalepy estão automaticamente disponíveis em sessões R e Python no servidor SQL para que não haja necessidade de importar a biblioteca.

no desenhador SSIS, crie uma tarefa de execução SQL para executar o procedimento de armazenamento generate_ riris_rx_model. O modelo é serializado e gravado na tabela siss_iris_models. O script para SQLStatement é o seguinte::

como ponto de verificação, após esta tarefa terminar, você pode consultar os modelos siss_iris_ para ver se ele contém um modelo binário.

Predict (pontuação) os resultados usando o “treinados” modelo

Agora que você tem o código que carrega dados de treinamento e gera um modelo, o único passo é utilizar o modelo para gerar previsões.

para fazer isso, coloque o script R na consulta SQL para ativar a função rxpredict built-in R no ssis_iris_model. Um procedimento armazenado chamado predict_species_length realiza esta tarefa.

no Designer da SSIS, crie uma tarefa SQL executável que executa o procedimento de predict_ species_length armazenado para gerar comprimento de pétala previsto.

exec predict_species_length 'rxLinMod';

execute a solução

no designer da SSIS, carregue em F5 para executar o pacote. Você deve ver um resultado semelhante ao seguinte screenshot.

Usa o SSRS para as visualizações

Embora R pode criar gráficos e interessante visualizações, não é bem integrado com fontes de dados externas, o que significa que cada gráfico tem de ser produzidas individualmente. Compartilhar também pode ser difícil.

usando serviços R (in-Database), você pode executar operações complexas em R através de procedimentos armazenados Transact-SQL, que podem ser facilmente consumidos por uma variedade de ferramentas de Relato de empresas, incluindo serviços de Relato e Power BI.

os exemplos SSIS e SSRS neste artigo ilustram dois casos de execução de procedimentos armazenados que contêm script R ou Python incorporados. Um takeaway chave é que você pode tornar R ou Python script disponível para qualquer aplicação ou ferramenta que pode enviar um pedido de execução em um procedimento armazenado. Um takeaway adicional para SSIS é que você pode criar pacotes que automatizam e agendam uma ampla gama de operações, tais como aquisição de dados, Limpeza, manipulação, e assim por diante, com a funcionalidade de ciência de dados R ou Python incluída na cadeia de operações. Para mais informações e ideias, consulte o código R operacionalizado usando procedimentos armazenados em Serviços de aprendizagem de máquinas do servidor SQL.

Deixe uma resposta

O seu endereço de email não será publicado.