Creare SSIS e SSRS i flussi di lavoro con R su SQL Server

  • 08/28/2020
  • 5 minuti a leggere
    • d
    • M
    • un
    • D
    • c
    • +2

si Applica a: SQL Server 2016 (13.x) e versioni successive

Questo articolo spiega come utilizzare lo script R e Python incorporato utilizzando le funzionalità di linguaggio e scienza dei dati di SQL Server Machine Learning Services con due importanti funzionalità di SQL Server: SQL Server Integration Services (SSIS) e SQL Server Reporting Services SSRS. Le librerie R e Python in SQL Server forniscono funzioni statistiche e predittive. SSIS e SSRS forniscono rispettivamente la trasformazione e le visualizzazioni ETL coordinate. Questo articolo spiega come mettere insieme tutte queste funzionalità in questo modello di flusso di lavoro:

  • Creare una stored procedure contenente l’eseguibile R o Python
  • Eseguire la stored procedure da SSIS o SSRS

Gli esempi in questo articolo riguardano principalmente R e SSIS, ma i concetti e i passaggi si applicano ugualmente a Python. La seconda sezione fornisce indicazioni e collegamenti per le visualizzazioni SSRS.

Usa SSIS per l’automazione

I flussi di lavoro di data science sono altamente iterativi e comportano molta trasformazione dei dati, tra cui scaling, aggregazioni, calcolo delle probabilità e ridenominazione e fusione degli attributi. I data scientist sono abituati a svolgere molte di queste attività in R, Python o in un’altra lingua; tuttavia, l’esecuzione di tali flussi di lavoro sui dati aziendali richiede una perfetta integrazione con gli strumenti e i processi ETL.

Poiché R Services (In-Database) consente di eseguire operazioni complesse in R tramite Transact-SQL e stored procedure, è possibile integrare le attività di data science con i processi ETL esistenti. Invece di eseguire una catena di attività ad alta intensità di memoria, la preparazione dei dati può essere ottimizzata utilizzando gli strumenti più efficienti, tra cui Integration Services e Transact-SQL.

Ecco alcune idee su come automatizzare le pipeline di elaborazione e modellazione dei dati utilizzando i servizi di integrazione:

  • Estrarre dati in locale o cloud fonti per costruire i dati di allenamento
  • creazione ed esecuzione R o Python modelli come parte di una integrazione di dati di flusso di lavoro
  • Riqualificare i modelli regolari (pianificata) base
  • risultati di Carico da R o script Python per altre destinazioni quali Excel, Power BI, Oracle, e Teradata, per citarne alcuni
  • Utilizzare SSIS attività per la creazione di dati nel database SQL
  • Utilizzare il condizionale per passare calcolare il contesto R e Python posti di lavoro

SSIS esempio

in Questo esempio viene illustrato come automatizzare le attività utilizzando SSIS. È possibile creare stored procedure con R incorporato utilizzando SQL Server Management Studio e quindi eseguire tali stored procedure da Esegui attività T-SQL in un pacchetto SSIS.

Per passare a questo esempio, è necessario avere familiarità con Management Studio, SSIS, SSIS Designer, package design e T-SQL. Il pacchetto SSIS utilizza tre attività Execute T-SQL che inseriscono i dati di allenamento in una tabella, modellano i dati e segnano i dati per ottenere l’output di previsione.

Caricare i dati di allenamento

Eseguire il seguente script in SQL Server Management Studio per creare una tabella per la memorizzazione dei dati. È necessario creare e utilizzare un database di test per questo esercizio.

Creare una stored procedure che carica i dati di allenamento nel frame di dati. Questo esempio utilizza il set di dati Iris integrato.

In SSIS Designer, creare un’attività Esegui SQL che esegue la stored procedure appena definita. Lo script per SQLStatement rimuove i dati esistenti, specifica quali dati inserire e quindi chiama la stored procedure per fornire i dati.

Generare un modello

Eseguire lo script seguente in SQL Server Management Studio per creare una tabella che memorizza un modello.

Creare una stored procedure che genera un modello lineare utilizzando rxLinMod. Le librerie RevoScaleR e revoscalepy sono automaticamente disponibili nelle sessioni R e Python su SQL Server, quindi non è necessario importare la libreria.

In SSIS Designer, creare un’attività Execute SQL per eseguire la stored procedure generate_iris_rx_model. Il modello viene serializzato e salvato nella tabella ssis_iris_models. Lo script per SQLStatement è il seguente:

Come checkpoint, al termine di questa attività, è possibile interrogare ssis_iris_models per vedere che contiene un modello binario.

Predire i risultati (score) utilizzando il modello “addestrato”

Ora che si dispone di un codice che carica i dati di allenamento e genera un modello, l’unico passaggio rimasto è utilizzare il modello per generare previsioni.

Per fare ciò, inserire lo script R nella query SQL per attivare la funzione R incorporata di rxPredict su ssis_iris_model. Una stored procedure chiamata predict_species_length esegue questa operazione.

In SSIS Designer, creare un’attività Execute SQL che esegue la stored procedure predict_species_length per generare la lunghezza prevista del petalo.

exec predict_species_length 'rxLinMod';

Eseguire la soluzione

In SSIS Designer, premere F5 per eseguire il pacchetto. Dovresti vedere un risultato simile alla seguente schermata.

Usa SSRS per visualizzazioni

Sebbene R possa creare grafici e visualizzazioni interessanti, non è ben integrato con origini dati esterne, il che significa che ogni grafico o grafico deve essere prodotto individualmente. Anche la condivisione può essere difficile.

Utilizzando R Services (In-Database), è possibile eseguire operazioni complesse in R tramite stored procedure Transact-SQL, che possono essere facilmente utilizzate da una varietà di strumenti di reporting aziendali, inclusi Reporting Services e Power BI.

Gli esempi SSIS e SSRS in questo articolo illustrano due casi di esecuzione di stored procedure che contengono script R o Python incorporati. Un asporto chiave è che è possibile rendere R o Python script disponibile per qualsiasi applicazione o strumento che può inviare una richiesta di esecuzione su una stored procedure. Un ulteriore asporto per SSIS è che è possibile creare pacchetti che automatizzano e pianificano un’ampia gamma di operazioni, come acquisizione dati, pulizia, manipolazione e così via, con funzionalità R o Python data science incluse nella catena di operazioni. Per ulteriori informazioni e idee, vedere Operazionalizzare il codice R utilizzando le stored procedure in SQL Server Machine Learning Services.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.