Opret SSIS-og SSRS-arbejdsgange med R på KKL-Server

  • 08/28/2020
  • 5 minutter at læse
    • d
    • M
    • a
    • D
    • c
    • +2

gælder for: Server 2016 (13.

denne artikel forklarer, hvordan du bruger integreret r-og Python-script ved hjælp af sprog-og datalogikfunktionerne i SSRS-Serverindlæringstjenester med to vigtige funktioner i Serverindlæringstjenester: SSIS-Serverintegrationstjenester (SSIS) og SSRS-Serverrapporteringstjenester. R-og Pythonbibliotekerne leverer statistiske og forudsigelige funktioner. SSI ‘er og SSR’ er leverer henholdsvis koordineret ETL-transformation og visualiseringer. Denne artikel forklarer, hvordan du sætter alle disse funktioner sammen i dette arbejdsprocesmønster:

  • Opret en gemt procedure, der indeholder eksekverbar R eller Python
  • udfør den lagrede procedure fra SSIS eller SSRS

eksemplerne i denne artikel handler for det meste om R og SSI ‘ er, men begreberne og trinene gælder ligeledes for Python. Det andet afsnit indeholder vejledning og links til SSRS visualiseringer.

brug SSI ‘ er til automatisering

Datavidenskabelige arbejdsgange er meget iterative og involverer meget transformation af data, herunder skalering, aggregeringer, beregning af sandsynligheder og omdøbning og sammenlægning af attributter. Dataforskere er vant til at udføre mange af disse opgaver på R, Python eller et andet sprog; imidlertid kræver udførelse af sådanne arbejdsgange på virksomhedsdata problemfri integration med ETL-værktøjer og processer.

da R Services (in-Database) giver dig mulighed for at køre komplekse operationer i R via transaktions-og lagrede procedurer, kan du integrere datavidenskabelige opgaver med eksisterende ETL-processer. I stedet for at udføre en kæde af hukommelsesintensive opgaver, kan dataforberedelse optimeres ved hjælp af de mest effektive værktøjer, herunder integrationstjenester og transaktions-kvm.

her er nogle ideer til, hvordan du kan automatisere dine databehandlings-og modelleringsrørledninger ved hjælp af integrationstjenester:

  • Uddrag data fra lokale eller cloud-kilder for at opbygge træningsdata
  • Byg og kør r-eller Python-modeller som en del af en dataintegrationsarbejdsproces
  • Omskolingsmodeller regelmæssigt (planlagt)
  • Indlæs resultater fra R-eller Python-script til andre destinationer som f. eks. , Oracle og Teradata, for at nævne nogle få
  • brug SSIS-opgaver til at oprette datafunktioner i databasen
  • brug betinget forgrening til at skifte beregningskontekst for R-og Python-job

SSIS-eksempel

dette eksempel viser dig, hvordan du Automatiser opgaver ved hjælp af SSIS. Du opretter lagrede procedurer med integreret R ved hjælp af Microsoft Server Management Studio og udfører derefter de lagrede procedurer fra udførelse af Microsoft-opgaver i en SSIS-pakke.

for at gennemgå dette eksempel skal du være fortrolig med Management Studio, SSIS, SSIS Designer, pakkedesign og T-kvm. SSIS-pakken bruger tre udføre opgaver, der indsætter træningsdata i en tabel, modellerer dataene og scorer dataene for at få forudsigelsesoutput.

Indlæs træningsdata

Kør følgende script i Server Management Studio for at oprette en tabel til lagring af dataene. Du skal oprette og bruge en testdatabase til denne øvelse.

Opret en gemt procedure, der indlæser træningsdata i datarammen. Dette eksempel bruger det indbyggede Iris – datasæt.

i SSIS Designer skal du oprette en opgave, der udfører den lagrede procedure, du lige har defineret. Scriptet fjerner eksisterende data, angiver, hvilke data der skal indsættes, og kalder derefter den lagrede procedure for at levere dataene.

Generer en model

Kør følgende script I Server Management Studio for at oprette en tabel, der gemmer en model.

Opret en gemt procedure, der genererer en lineær model ved hjælp af rkslinmod. RevoScaleR og revoscalepy biblioteker er automatisk tilgængelige i r og Python sessioner på , så der er ingen grund til at importere biblioteket.

i SSIS Designer skal du oprette en Eksekveringsopgave for at udføre den lagrede procedure generate_iris_model. Modellen serialiseres og gemmes i tabellen ssis_iris_models. Scriptet til Kvlstatement er som følger:

som et kontrolpunkt, når denne opgave er afsluttet, kan du forespørge på ssis_iris_models for at se, at den indeholder en binær model.

Forudsig (score) resultater ved hjælp af den “trænede” model

nu hvor du har kode, der indlæser træningsdata og genererer en model, er det eneste trin tilbage at bruge modellen til at generere forudsigelser.

for at gøre dette skal du sætte r-scriptet i forespørgslen for at udløse den indbyggede r-funktion på ssis_iris_model. En gemt procedure kaldet predict_species_length udfører denne opgave.

i SSIS Designer skal du oprette en eksekver opgave, der udfører den lagrede procedure predict_species_length for at generere forudsagt kronbladslængde.

exec predict_species_length 'rxLinMod';

Kør løsningen

i SSIS Designer skal du trykke på F5 for at udføre pakken. Du skal se et resultat svarende til følgende skærmbillede.

brug SSRS til visualiseringer

selvom R kan oprette diagrammer og interessante visualiseringer, er det ikke godt integreret med eksterne datakilder, hvilket betyder, at hvert diagram eller graf skal produceres individuelt. Deling kan også være svært.

ved at bruge R-tjenester (In-Database) kan du køre komplekse operationer i R via transaktions-lagrede procedurer, som let kan forbruges af en række virksomhedsrapporteringsværktøjer, herunder rapporteringstjenester og strøm BI.

SSIS-og SSRS-eksemplerne i denne artikel illustrerer to tilfælde af udførelse af lagrede procedurer, der indeholder indlejret r-eller Python-script. En vigtig afhentning er, at du kan gøre R-eller Python-script tilgængeligt for ethvert program eller værktøj, der kan sende en eksekveringsanmodning på en gemt procedure. En ekstra afhentning for SSIS er, at du kan oprette pakker, der automatiserer og planlægger en bred vifte af operationer, såsom dataindsamling, rensning, manipulation osv. For mere information og ideer, se Operationaliser R-kode ved hjælp af lagrede procedurer i server Machine Learning Services.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.