SSIS és SSRS munkafolyamatok létrehozása az R segítségével az SQL Server rendszeren

  • 08/28/2020
  • 5 perc olvasni
    • d
    • M
    • a
    • D
    • c
    • +2

vonatkozik: SQL Server 2016 (13.X) és újabb

ez a cikk bemutatja, hogyan használható beágyazott R és Python szkript az SQL Server Machine Learning Services nyelvi és adattudományi képességeinek felhasználásával, két fontos SQL Server funkcióval: SQL Server Integration Services (SSIS) és SQL Server Reporting Services SSRS. Az SQL Server R és Python könyvtárai statisztikai és prediktív funkciókat biztosítanak. Az SSIS és az SSRS összehangolt ETL transzformációt és vizualizációt biztosít. Ez a cikk bemutatja, hogyan lehet ezeket a funkciókat összerakni ebben a munkafolyamat-mintában:

  • hozzon létre egy tárolt eljárást, amely futtatható r vagy Python fájlt tartalmaz
  • hajtsa végre a tárolt eljárást SSIS-ből vagy SSRS-ből

a cikkben szereplő példák többnyire az R-ről és az SSIS-ről szólnak, de a fogalmak és lépések ugyanúgy vonatkoznak a Pythonra. A második rész útmutatást és linkeket tartalmaz az SSRS vizualizációihoz.

SSIS használata automatizáláshoz

az adattudományi munkafolyamatok nagyon iteratívak, és az adatok sok átalakítását foglalják magukban, beleértve a méretezést, az összesítést, a valószínűségek kiszámítását, valamint az attribútumok átnevezését és egyesítését. Az adattudósok hozzászoktak ahhoz, hogy ezeket a feladatokat R, Python vagy más nyelven végezzék el; azonban az ilyen munkafolyamatok vállalati adatokon történő végrehajtása zökkenőmentes integrációt igényel az ETL eszközökkel és folyamatokkal.

mivel az R Services (in-Database) lehetővé teszi komplex műveletek futtatását R-ben a Transact-SQL és a tárolt eljárások segítségével, integrálhatja az adattudományi feladatokat a meglévő ETL folyamatokkal. A memóriaigényes feladatok láncolata helyett az adatok előkészítése optimalizálható a leghatékonyabb eszközökkel, beleértve az integrációs szolgáltatásokat és a Transact-SQL-t.

íme néhány ötlet, hogyan automatizálhatja adatfeldolgozási és modellezési folyamatait integrációs szolgáltatások segítségével:

  • adatok kinyerése helyszíni vagy felhőforrásokból képzési adatok készítéséhez
  • R vagy Python modellek készítése és futtatása adatintegrációs munkafolyamat részeként
  • a modellek rendszeres (ütemezett) újratervezése
  • az R vagy Python szkript eredményeinek betöltése más célállomásokra, például Excel, Power BI, Oracle és Teradata, hogy csak néhányat említsünk
  • SSIS feladatok használata adatfunkciók létrehozásához az SQL adatbázisban
  • feltételes elágazás használata az R és python feladatok számítási környezetének átkapcsolásához

SSIS példa

ez a példa bemutatja, hogyan kell automatizálja a feladatokat az SSIS segítségével. Tárolt eljárásokat hoz létre beágyazott R-vel az SQL Server Management Studio használatával,majd végrehajtja ezeket a tárolt eljárásokat a T-SQL feladatok végrehajtása SSIS csomagban.

a példa végigviteléhez ismernie kell a Management Studio, az SSIS, az SSIS Designer, a package design és a T-SQL nyelveket. Az SSIS csomag három Execute T-SQL feladatot használ, amelyek beszúrják a képzési adatokat egy táblázatba, modellezik az adatokat, és pontozzák az adatokat, hogy előrejelzési kimenetet kapjanak.

betanítási adatok betöltése

futtassa a következő parancsfájlt az SQL Server Management Studio alkalmazásban az adatok tárolására szolgáló táblázat létrehozásához. Ehhez a feladathoz létre kell hoznia és használnia kell egy tesztadatbázist.

hozzon létre egy tárolt eljárást, amely betölti a képzési adatokat az adatkeretbe. Ez a példa a beépített Iris adatkészletet használja.

az SSIS Designer alkalmazásban hozzon létre egy Execute SQL feladatot, amely végrehajtja az imént definiált tárolt eljárást. Az sqlstatement parancsfájlja eltávolítja a meglévő adatokat, meghatározza, hogy mely adatokat kell beszúrni, majd meghívja a tárolt eljárást az adatok megadására.

modell létrehozása

futtassa a következő parancsfájlt az SQL Server Management Studio alkalmazásban egy modellt tároló táblázat létrehozásához.

hozzon létre egy tárolt eljárást, amely lineáris modellt generál az rxLinMod használatával. A RevoScaleR és a revoscalepy könyvtárak automatikusan elérhetők az SQL Server R és Python munkameneteiben, így nincs szükség a könyvtár importálására.

az SSIS Designer alkalmazásban hozzon létre egy végrehajtási SQL feladatot a generate_iris_rx_model tárolt eljárás végrehajtásához. A modell serializálódik és az ssis_iris_models táblába kerül. Az sqlstatement szkriptje a következő:

ellenőrzőpontként, miután ez a feladat befejeződött, lekérdezheti a ssis_iris_models látni, hogy tartalmaz egy bináris modellt.

az eredmények előrejelzése (pontozása) a “betanított” modell használatával

most, hogy van kódja, amely betölti az edzési adatokat és létrehoz egy modellt, az egyetlen lépés a modell használata az előrejelzések előállításához.

ehhez tegye az R szkriptet az SQL lekérdezésbe, hogy elindítsa az rxpredict beépített R függvényét az ssis_iris_model-en. A predict_species_length nevű tárolt eljárás végrehajtja ezt a feladatot.

az SSIS Designer alkalmazásban hozzon létre egy Execute SQL feladatot, amely végrehajtja a predict_species_length tárolt eljárást az előre jelzett sziromhossz előállításához.

exec predict_species_length 'rxLinMod';

futtassa a megoldást

az SSIS Designer programban nyomja meg az F5 billentyűt a csomag végrehajtásához. A következő képernyőképhez hasonló eredményt kell látnia.

SSRS használata vizualizációkhoz

bár R képes diagramokat és érdekes vizualizációkat létrehozni, nincs jól integrálva a külső adatforrásokkal, ami azt jelenti, hogy minden diagramot vagy grafikont külön kell elkészíteni. A megosztás is nehéz lehet.

az R Services (in-Database) használatával összetett műveleteket futtathat R-ben a Transact-SQL tárolt eljárásokon keresztül, amelyeket könnyen felhasználhat számos vállalati jelentéskészítő eszköz, beleértve a jelentési szolgáltatásokat és a Power BI-t.

a cikkben szereplő SSIS és SSRS példák két olyan esetet mutatnak be, amikor beágyazott r vagy Python szkriptet tartalmazó tárolt eljárásokat hajtanak végre. A legfontosabb elvihető, hogy tudod, hogy R vagy Python script elérhető bármely alkalmazás vagy eszköz, amely küldhet végrehajtási kérelmet a tárolt eljárás. Az SSIS további előnye, hogy olyan csomagokat hozhat létre, amelyek automatizálják és ütemezik a műveletek széles körét, például az adatgyűjtést, a tisztítást, a manipulációt és így tovább, a műveletek láncolatában szereplő R vagy Python adattudományi funkciókkal. További információkért és ötletekért lásd: az R-kód operacionalizálása tárolt eljárások használatával az SQL Server Machine Learning Services szolgáltatásban.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.