creați fluxuri de lucru SSIS și SSRS cu R pe SQL Server

  • 08/28/2020
  • 5 minute de citit
    • d
    • M
    • a
    • D
    • c
    • +2

se aplică la: SQL Server 2016 (13.x) și mai târziu

acest articol explică modul de utilizare embedded R și Python script folosind capacitățile de limbă și știința datelor SQL Server Machine Learning Services cu două caracteristici importante SQL Server: SQL Server Integration Services (SSIS) și SQL Server Reporting Services SSRS. Bibliotecile R și Python din SQL Server oferă funcții statistice și predictive. SSIS și SSR oferă transformări și vizualizări ETL coordonate, respectiv. Acest articol explică modul de a pune toate aceste caracteristici împreună în acest model de flux de lucru:

  • creați o procedură stocată care conține executabil R sau Python
  • executați procedura stocată din SSIS sau SSRS

exemplele din acest articol sunt în mare parte despre R și SSIS, dar conceptele și pașii se aplică în mod egal Python. A doua secțiune oferă îndrumări și linkuri pentru vizualizările SSRS.

utilizați SSIS pentru automatizare

fluxurile de lucru pentru știința datelor sunt extrem de iterative și implică o mare transformare a datelor, inclusiv scalarea, agregările, calculul probabilităților și redenumirea și fuzionarea atributelor. Oamenii de știință de date sunt obișnuiți să facă multe dintre aceste sarcini în R, Python sau într-o altă limbă; cu toate acestea, executarea unor astfel de fluxuri de lucru pe datele întreprinderii necesită integrare perfectă cu instrumentele și procesele ETL.

deoarece R Services (In-Database) vă permite să rulați operații complexe în R prin Transact-SQL și proceduri stocate, puteți integra taskurile data science cu procesele ETL existente. În loc să efectueze un lanț de sarcini intensive în memorie, pregătirea datelor poate fi optimizată folosind cele mai eficiente instrumente, inclusiv servicii de integrare și Transact-SQL.

iată câteva idei pentru modul în care vă puteți automatiza conductele de prelucrare și modelare a datelor utilizând servicii de integrare:

  • extrageți date din surse locale sau cloud pentru a construi date de instruire
  • Construiți și rulați modele R sau Python ca parte a unui flux de lucru de integrare a datelor
  • recalificați modelele în mod regulat (programat)
  • încărcați rezultatele din scriptul R sau Python către alte destinații, cum ar fi Excel, Power BI, Oracle și Teradata, pentru a numi câteva
  • utilizați sarcini SSIS pentru a crea caracteristici de date în baza de date SQL
  • utilizați ramificarea condiționată pentru a comuta contextul de calcul pentru lucrările r și Python

exemplu SSIS

acest exemplu vă arată cum să automatizarea sarcinilor folosind SSIS. Creați proceduri stocate cu embedded r folosind SQL Server Management Studio, și apoi executa aceste proceduri stocate la executa taskuri T-SQL într-un pachet SSIS.

pentru a parcurge acest exemplu, ar trebui să fiți familiarizați cu Management Studio, SSIS, SSIS Designer, package design și T-SQL. Pachetul SSIS utilizează trei executa sarcini T-SQL care introduce date de formare într-un tabel, modelul de date, și scorul de date pentru a obține de ieșire de predicție.

încărcați datele de instruire

rulați următorul script în SQL Server Management Studio pentru a crea un tabel pentru stocarea datelor. Ar trebui să creați și să utilizați o bază de date de testare pentru acest exercițiu.

creați o procedură stocată care încarcă datele de antrenament în cadrul de date. Acest exemplu utilizează setul de date Iris încorporat.

în SSIS Designer, creați o sarcină Execute SQL care execută procedura stocată pe care tocmai ați definit-o. Scriptul pentru sqlstatement elimină datele existente, specifică ce date să inserați și apoi apelează procedura stocată pentru a furniza datele.

generați un model

rulați următorul script în SQL Server Management Studio pentru a crea un tabel care stochează un model.

creați o procedură stocată care generează un model liniar folosind rxLinMod. Bibliotecile RevoScaleR și revoscalepy sunt disponibile automat în sesiunile R și Python pe SQL Server, astfel încât nu este nevoie să importați biblioteca.

în SSIS Designer, creați o activitate executare SQL pentru a executa procedura stocată generate_iris_rx_model. Modelul este serializat și salvat în tabelul ssis_iris_models. Scriptul pentru SQLStatement este după cum urmează:

ca punct de control, după finalizarea acestei sarcini, puteți interoga ssis_iris_models pentru a vedea că conține un model binar.

preziceți rezultatele (scor) folosind modelul „instruit”

acum că aveți cod care încarcă datele de antrenament și generează un model, singurul pas rămas este utilizarea modelului pentru a genera predicții.

pentru a face acest lucru, puneți scriptul R în interogarea SQL pentru a declanșa funcția rxpredict încorporată pe ssis_iris_model. O procedură stocată numită predict_species_length realizează această sarcină.

în SSIS Designer, creați o activitate Execute SQL care execută procedura memorată predict_species_length pentru a genera lungimea petală prezisă.

exec predict_species_length 'rxLinMod';

rulați soluția

în SSIS Designer, apăsați F5 pentru a executa pachetul. Ar trebui să vedeți un rezultat similar cu următoarea captură de ecran.

utilizați SSR pentru vizualizări

deși R poate crea diagrame și vizualizări interesante, nu este bine integrat cu surse de date externe, ceea ce înseamnă că fiecare diagramă sau grafic trebuie să fie produs individual. Partajarea, de asemenea, poate fi dificil.

prin utilizarea serviciilor R (în baza de date), puteți rula operațiuni complexe în R prin intermediul procedurilor stocate Transact-SQL, care pot fi consumate cu ușurință de o varietate de instrumente de raportare a întreprinderii, inclusiv servicii de raportare și Power BI.

exemplele SSIS și SSRS din acest articol ilustrează două cazuri de executare a procedurilor stocate care conțin script R sau Python încorporat. Un takeaway cheie este că puteți face R sau Python script disponibil pentru orice aplicație sau instrument care poate trimite o cerere de execuție pe o procedură stocată. O preluare suplimentară pentru SSIS este că puteți crea pachete care automatizează și programează o gamă largă de operații, cum ar fi achiziția de date, curățarea, manipularea și așa mai departe, cu funcționalitatea R sau Python data science inclusă în lanțul de operații. Pentru mai multe informații și idei, consultați operaționalizarea codului R utilizând proceduri stocate în SQL Server Machine Learning Services.

Lasă un răspuns

Adresa ta de email nu va fi publicată.