Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Vonatkozik a következőkre: SQL Server 2019 (15.x) és későbbi verziók
Azure SQL Managed Instance
Ez a cikk azt ismerteti, hogyan telepíthet R-csomagokat az SQL Serveren és a Big Data-fürtökönfutó Machine Learning Services egy példányára az sqlmlutils-csomagban található függvényekkel. A telepített csomagok az adatbázisban futó R-szkriptekben használhatók a sp_execute_external_script T-SQL utasítással.
Megjegyzés:
A cikkben ismertetett sqlmlutils-csomag R-csomagok SQL Server 2019-es vagy újabb verziójához való hozzáadására szolgál. Az SQL Server 2017-ben és korábbi verzióiban lásd: Csomagok telepítése R-eszközökkel.
Ez a cikk azt ismerteti, hogyan lehet függvényeket használni az sqlmlutils-csomagban R-csomagok telepítéséhez az Azure SQL Managed Instance Machine Learning Services egy példányára. A telepített csomagok az adatbázisban futó R-szkriptekben használhatók a sp_execute_external_script T-SQL utasítással.
Megjegyzés:
Az SQL Managed Instance Machine Learning Services egy példányán előre telepített csomagok nem frissíthetők vagy távolíthatók el. A jelenleg telepített csomagok listájának megtekintéséhez tekintse meg az összes telepített R-csomag listáját.
Előfeltételek
Telepítse az R és az RStudio Desktopot az SQL Serverhez való csatlakozáshoz használt ügyfélszámítógépre. Bármilyen R IDE-t használhat szkriptek futtatásához, de ez a cikk az RStudio-t feltételezi.
Az R verziójának az ügyfélszámítógépen meg kell egyeznie a kiszolgálón található R verziójával, és a telepített csomagoknak meg kell felelniük az R verziójának. További információ arról, hogy az R melyik verzióját tartalmazza az egyes SQL Server-verziók, lásd : Python- és R-verziók.
Ha ellenőrizni szeretné az R verzióját egy adott SQL Serveren, használja a következő T-SQL-parancsot.
EXECUTE sp_execute_external_script @language = N'R' , @script = N'print(R.version)'Az SQL Serverhez való csatlakozáshoz használt ügyfélszámítógépen használja a Visual Studio Code MSSQL-bővítményét . Más adatbázis-kezelési vagy lekérdezési eszközöket is használhat.
Egyéb szempontok
A csomagtelepítés az SQL-példányra, az adatbázisra és a felhasználóra vonatkozik, amelyet az sqlmlutils számára megadott kapcsolati információkban megadott. Ha a csomagot több SQL-példányban vagy adatbázisban, illetve különböző felhasználók számára szeretné használni, mindegyikhez telepítenie kell a csomagot. A kivétel az, hogy ha a csomagot egy tagja
dbotelepíti, a csomag nyilvános , és minden felhasználóval meg van osztva. Ha egy felhasználó egy nyilvános csomag újabb verzióját telepíti, a nyilvános csomagra nincs hatással, de a felhasználónak hozzáférése lesz az újabb verzióhoz.Az SQL Serveren futó R-szkriptek csak az alapértelmezett példánytárban telepített csomagokat használhatják. Az SQL Server nem tud csomagokat betölteni külső kódtárakból, még akkor sem, ha az ugyanazon a számítógépen található. Ide tartoznak a más Microsoft-termékekkel telepített R-kódtárak is.
Egy megkeményített SQL Server-környezetben érdemes lehet elkerülni a következőket:
- Hálózati hozzáférést igénylő csomagok
- Emelt szintű fájlrendszer-hozzáférést igénylő csomagok
- Webfejlesztéshez vagy más olyan feladatokhoz használt csomagok, amelyek nem hasznosak az SQL Serveren való futtatással
Sqlmlutils telepítése az ügyfélszámítógépen
Az sqlmlutils használatához először telepítenie kell az SQL Serverhez való csatlakozáshoz használt ügyfélszámítógépen.
Az sqlmlutils-csomag az odbc-csomagtól , az odbc pedig számos más csomagtól függ. Az alábbi eljárások az összes csomagot a megfelelő sorrendben telepítik.
Az sqlmlutils online telepítése
Ha az ügyfélszámítógép rendelkezik internet-hozzáféréssel, letöltheti és telepítheti az sqlmlutilst és annak függő csomagjait online.
Töltse le a legújabb sqlmlutils-fájlt (
.zipWindowshoz,.tar.gzLinuxhoz) az ügyfélszámítógépre https://github.com/microsoft/sqlmlutils/releases . Ne bontsa ki a fájlt.Nyisson meg egy parancssort , és futtassa a következő parancsokat az odbc és sqlmlutils csomagok telepítéséhez. Cserélje le a letöltött sqlmlutils-fájl elérési útját. Az odbc-csomag online megtalálható és telepítve van.
R.exe -e "install.packages('odbc', type='binary')" R.exe CMD INSTALL sqlmlutils_1.0.0.zipR.exe -e "install.packages('odbc')" R.exe CMD INSTALL sqlmlutils_1.0.0.tar.gz
Az sqlmlutils offline telepítése
Ha az ügyfélszámítógép nem rendelkezik internetkapcsolattal, az odbc - és sqlmlutils-csomagokat előre le kell töltenie egy olyan számítógép használatával, amely rendelkezik internetkapcsolattal. Ezután átmásolhatja a fájlokat az ügyfélszámítógép egyik mappájába, és offline módban telepítheti a csomagokat.
Az odbc-csomag számos függő csomaggal rendelkezik, és a csomagok összes függőségének azonosítása bonyolulttá válik. Javasoljuk, hogy a miniCRAN használatával hozzon létre egy helyi adattármappát a csomaghoz, amely tartalmazza az összes függő csomagot. További információ: Helyi R-csomagtárház létrehozása a miniCRAN használatával.
Az sqlmlutils-csomag egyetlen fájlból áll, amelyet átmásolhat az ügyfélszámítógépre, és telepítheti.
Internetkapcsolattal rendelkező számítógépen:
Telepítse a miniCRAN-t. További részletekért lásd: MiniCRAN telepítése .
Az RStudio-ban futtassa a következő R-szkriptet az odbc csomag helyi adattárának létrehozásához. Ez a példa feltételezi, hogy az adattár a mappában
odbclesz létrehozva.library("miniCRAN") CRAN_mirror <- c(CRAN = "https://cran.microsoft.com") local_repo <- "odbc" pkgs_needed <- "odbc" pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "win.binary", Rversion = "3.5");library("miniCRAN") CRAN_mirror <- c(CRAN = "https://cran.microsoft.com") local_repo <- "odbc" pkgs_needed <- "odbc" pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "source", Rversion = "3.5");A
Rversionértékhez az SQL Serverre telepített R-verzió használatát használja. A telepített verzió ellenőrzéséhez használja a következő T-SQL-parancsot.EXECUTE sp_execute_external_script @language = N'R' , @script = N'print(R.version)'Töltse le a legújabb sqlmlutils-fájlt (
.zipWindowshoz,.tar.gzLinuxhoz) a GitHub-adattárból. Ne bontsa ki a fájlt.Másolja a teljes Odbc-adattár mappát és az sqlmlutils fájlt az ügyfélszámítógépre.
Az SQL Serverhez való csatlakozáshoz használt ügyfélszámítógépen:
Nyisson meg egy parancssorablakot.
Futtassa az alábbi parancsokat az odbc és az sqlmlutils telepítéséhez. Cserélje le a számítógépre másolt sqlmlutils-fájl és az odbc-adattár mappa teljes elérési útját.
R.exe -e "install.packages('odbc', repos='odbc')" R.exe CMD INSTALL sqlmlutils_1.0.0.zipR.exe -e "install.packages('odbc', repos='odbc')" R.exe CMD INSTALL sqlmlutils_1.0.0.tar.gz
R-csomag hozzáadása az SQL Serveren
Az alábbi példában hozzáadja a ragasztócsomagot az SQL Serverhez.
A csomag online hozzáadása
Ha az SQL Serverhez való csatlakozáshoz használt ügyfélszámítógép internet-hozzáféréssel rendelkezik, az sqlmlutils használatával megkeresheti a ragasztócsomagot és az interneten keresztüli függőségeket, majd távolról telepítheti a csomagot egy SQL Server-példányra.
Nyissa meg az RStudio fájlt az ügyfélszámítógépen, és hozzon létre egy új R-szkriptfájlt .
A következő R-szkripttel telepítse a ragasztócsomagotaz sqlmlutils használatával. Cserélje le a saját SQL Server-adatbázis kapcsolati adatait.
library(sqlmlutils) connection <- connectionInfo( server = "server", database = "database", uid = "username", pwd = "password") sql_install.packages(connectionString = connection, pkgs = "glue", verbose = TRUE, scope = "PUBLIC")Jótanács
A hatókör lehet NYILVÁNOS vagy PRIVÁT. A nyilvános hatókör akkor hasznos, ha az adatbázis rendszergazdája olyan csomagokat telepít, amelyeket minden felhasználó használhat. A privát hatókör csak a telepítendő felhasználó számára teszi elérhetővé a csomagot. Ha nem adja meg a hatókört, az alapértelmezett hatókör PRIVÁT.
A csomag hozzáadása offline állapotban
Ha az ügyfélszámítógép nem rendelkezik internetkapcsolattal, a miniCRAN használatával letöltheti a ragasztócsomagot egy olyan számítógéppel, amely rendelkezik internetkapcsolattal. Ezután másolja a csomagot az ügyfélszámítógépre, ahol offline módban telepítheti a csomagot. A miniCRAN telepítésével kapcsolatos információkért tekintse meg a miniCRAN telepítését ismertető témakört.
Internetkapcsolattal rendelkező számítógépen:
Az alábbi R-szkript futtatásával hozzon létre egy helyi adattárat a kapcsoláshoz. Ez a példa létrehozza a tárhely mappát a következőben
c:\downloads\glue.library("miniCRAN") CRAN_mirror <- c(CRAN = "https://cran.microsoft.com") local_repo <- "c:/downloads/glue" pkgs_needed <- "glue" pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "win.binary", Rversion = "3.5");library("miniCRAN") CRAN_mirror <- c(CRAN = "https://cran.microsoft.com") local_repo <- "c:/downloads/glue" pkgs_needed <- "glue" pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "source", Rversion = "3.5");A
Rversionértékhez az SQL Serverre telepített R-verzió használatát használja. A telepített verzió ellenőrzéséhez használja a következő T-SQL-parancsot.EXECUTE sp_execute_external_script @language = N'R' , @script = N'print(R.version)'Másolja a teljes ragasztó tárolómappát (
c:\downloads\glue) az ügyfél számítógépére. Másolja például a mappábac:\temp\packages\glue.
Az ügyfélszámítógépen:
Nyissa meg az RStudio fájlt, és hozzon létre egy új R-szkriptfájlt .
A következő R-szkripttel telepítse a ragasztócsomagotaz sqlmlutils használatával. Cserélje le a saját SQL Server-adatbázis kapcsolati adatait (ha nem használja a Windows-hitelesítést, adjon hozzá
uidéspwdparamétereket).library(sqlmlutils) connection <- connectionInfo( server= "yourserver", database = "yourdatabase") localRepo = "c:/temp/packages/glue" sql_install.packages(connectionString = connection, pkgs = "glue", verbose = TRUE, scope = "PUBLIC", repos=paste0("file:///",localRepo))Jótanács
A hatókör lehet NYILVÁNOS vagy PRIVÁT. A nyilvános hatókör akkor hasznos, ha az adatbázis rendszergazdája olyan csomagokat telepít, amelyeket minden felhasználó használhat. A privát hatókör csak a telepítendő felhasználó számára teszi elérhetővé a csomagot. Ha nem adja meg a hatókört, az alapértelmezett hatókör PRIVÁT.
A csomag használata
Miután telepítette a ragasztócsomagot , a T-SQL sp_execute_external_script paranccsal használhatja azt egy R-szkriptben az SQL Serveren.
Nyissa meg a Visual Studio Code-ot, és csatlakozzon az SQL Server-adatbázishoz.
Futtassa a következő parancsot:
EXECUTE sp_execute_external_script @language = N'R' , @script = N' library(glue) name <- "Fred" birthday <- as.Date("2020-06-14") text <- glue(''My name is {name} '', ''and my birthday is {format(birthday, "%A, %B %d, %Y")}.'') print(text) ';Results
My name is Fred and my birthday is Sunday, June 14, 2020.
A csomag eltávolítása
Ha el szeretné távolítani a ragasztócsomagot , futtassa a következő R-szkriptet. Használja ugyanazt a kapcsolati változót, amelyet korábban definiált.
sql_remove.packages(connectionString = connection, pkgs = "glue", scope = "PUBLIC")
További sqlmlutils-függvények
Az sqlmlutils csomag számos függvényt tartalmaz az R-csomagok kezeléséhez, valamint tárolt eljárások és lekérdezések SQL Serveren való létrehozásához, kezeléséhez és futtatásához. Részletekért tekintse meg az sqlmlutils R README fájlt.
Az sqlmlutils függvényekkel kapcsolatos információkért használja az R súgófüggvényt vagy a ? operátort. Például:
library(sqlmlutils)
help("sql_install.packages")
Következő lépések
- A telepített R-csomagokról további információt az R-csomag adatainak lekérése című témakörben talál.
- Ha segítségre van szüksége az R-csomagok használatához, tekintse meg az R-csomagok használatára vonatkozó tippeket
- További információ az SQL Server Machine Learning Services szolgáltatásról: Mi az az SQL Server Machine Learning Services (Python és R)?