Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2016 (13.x) en latere versies
van Azure SQL Managed Instance
In dit artikel wordt beschreven hoe u R-pakketten offline installeert met behulp van miniCRAN om een lokale opslagplaats met pakketten en afhankelijkheden te maken. miniCRAN identificeert en downloadt pakketten en afhankelijkheden in één map die u kopieert naar andere computers voor offline R-pakketinstallatie.
U kunt een of meer pakketten opgeven en miniCRAN leest recursief de afhankelijkheidsstructuur voor deze pakketten. Vervolgens worden alleen de vermelde pakketten en hun afhankelijkheden van CRAN of vergelijkbare opslagplaatsen gedownload.
Wanneer u klaar bent, maakt miniCRAN een intern consistente opslagplaats die bestaat uit de geselecteerde pakketten en alle vereiste afhankelijkheden. U kunt deze lokale opslagplaats naar de server verplaatsen en doorgaan met het installeren van de pakketten zonder internetverbinding.
Ervaren R-gebruikers zoeken vaak naar de lijst met afhankelijke pakketten in het DESCRIPTION-bestand van een gedownload pakket. Pakketten die worden vermeld in Import , hebben echter mogelijk afhankelijkheden op het tweede niveau. Daarom raden we miniCRAN aan voor het samenstellen van de volledige verzameling vereiste pakketten.
Waarom een lokale opslagplaats maken
Het doel van het maken van een lokale pakketopslagplaats is om één locatie te bieden die een serverbeheerder of andere gebruikers in de organisatie kan gebruiken om nieuwe R-pakketten op een server te installeren, met name een die geen internettoegang heeft. Nadat u de opslagplaats hebt gemaakt, kunt u deze wijzigen door nieuwe pakketten toe te voegen of de versie van bestaande pakketten te upgraden.
Pakketopslagplaatsen zijn handig in deze scenario's:
Beveiliging: Veel R-gebruikers zijn gewend om nieuwe R-pakketten te downloaden en te installeren, van CRAN of een van de gespiegelde sites. Om veiligheidsredenen hebben productieservers met SQL Server doorgaans geen internetverbinding.
Eenvoudigere offline-installatie: als u een pakket wilt installeren op een offlineserver, moet u ook alle pakketafhankelijkheden downloaden. Het gebruik van miniCRAN maakt het gemakkelijker om alle afhankelijkheden in de juiste indeling op te halen en afhankelijkheidsfouten te voorkomen.
Verbeterd versiebeheer: In een omgeving met meerdere gebruikers zijn er goede redenen om onbeperkte installatie van meerdere pakketversies op de server te voorkomen. Gebruik een lokale opslagplaats om een consistente set pakketten voor uw gebruikers te bieden.
MiniCRAN installeren
Het miniCRAN-pakket zelf is afhankelijk van 18 andere CRAN-pakketten, waaronder het RCurl-pakket , dat een systeemafhankelijkheid heeft van het curl-devel-pakket . Op dezelfde manier heeft pakket-XML een afhankelijkheid van libxml2-devel. Als u afhankelijkheden wilt oplossen, raden we u aan om uw lokale opslagplaats in eerste instantie te bouwen op een computer met volledige internettoegang.
Voer de volgende opdrachten uit op een computer met een basisinstallatie van R, R-tools en een internetverbinding. Er wordt van uitgegaan dat dit niet uw SQL Server-computer is. Met de volgende opdrachten installeert u het miniCRAN-pakket en het igraph-pakket . In dit voorbeeld wordt gecontroleerd of het pakket al is geïnstalleerd, maar u kunt de if instructies omzeilen en de pakketten rechtstreeks installeren.
if(!require("miniCRAN")) install.packages("miniCRAN")
if(!require("igraph")) install.packages("igraph")
library("miniCRAN")
CRAN-spiegel en MRAN-momentopname instellen
Geef een gespiegelde site op die moet worden gebruikt bij het verkrijgen van pakketten. U kunt bijvoorbeeld de MRAN-site of een andere site in uw regio gebruiken die de pakketten bevat die u nodig hebt. Als een download mislukt, probeert u een andere gespiegelde site.
CRAN_mirror <- c(CRAN = "https://mirrors.nics.utk.edu/cran/")
Een lokale map maken
Maak een lokale map waarin de verzamelde pakketten moeten worden opgeslagen. Als u dit vaak herhaalt, kunt u een beschrijvende naam gebruiken, zoals "miniCRANZooPackages" of "miniCRANMyRPackageV2".
Geef de map op als de lokale opslagplaats. R-syntaxis maakt gebruik van een schuine streep voor padnamen, wat het tegenovergestelde is van de conventies in Windows.
local_repo <- "C:/miniCRANZooPackages"
Pakketten toevoegen aan de lokale opslagplaats
Nadat miniCRAN is geïnstalleerd en geladen, maakt u een lijst met de extra pakketten die u wilt downloaden.
Voeg geen afhankelijkheden toe aan deze eerste lijst. Het igraph-pakket dat door miniCRAN wordt gebruikt, genereert automatisch de lijst met afhankelijkheden. Zie MiniCRAN gebruiken om pakketafhankelijkheden te identificeren voor meer informatie over het gebruik van de gegenereerde afhankelijkheidsgrafiek.
Voeg doelpakketten 'zoo' en 'prognose' toe aan een variabele.
pkgs_needed <- c("zoo", "forecast")U kunt eventueel de afhankelijkheidsgrafiek tekenen. Dit is niet nodig, maar het kan informatief zijn.
plot(makeDepGraph(pkgs_needed))Maak de lokale opslagplaats. Zorg ervoor dat u de R-versie, indien nodig, wijzigt in de versie die is geïnstalleerd op uw SQL Server-exemplaar. Als u een onderdeelupgrade hebt uitgevoerd, is uw versie mogelijk nieuwer dan de oorspronkelijke versie. Zie Informatie over R-pakket ophalen voor meer informatie.
pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "win.binary", Rversion = "3.3");Op basis van deze informatie maakt het miniCRAN-pakket de mapstructuur die u nodig hebt om de pakketten later naar de SQL Server te kopiëren.
Op dit moment moet u een map hebben met de pakketten die u nodig hebt en eventuele extra pakketten die vereist zijn. De map moet een verzameling zip-pakketten bevatten. Pak de pakketten niet uit of wijzig de naam van bestanden.
Voer eventueel de volgende code uit om de pakketten in de lokale miniCRAN-opslagplaats weer te geven.
pdb <- as.data.frame(pkgAvail(local_repo, type = "win.binary", Rversion = "3.3"), stringsAsFactors = FALSE);
head(pdb);
pdb$Package;
pdb[, c("Package", "Version", "License")]
Pakketten toevoegen aan de instantie-bibliotheek
Nadat u een lokale opslagplaats hebt met de pakketten die u nodig hebt, verplaatst u de pakketopslagplaats naar de SQL Server-computer. In de volgende procedure wordt beschreven hoe u de pakketten installeert met R-hulpprogramma's.
Opmerking
De aanbevolen methode voor het installeren van pakketten is het gebruik van sqlmlutils. Zie Nieuwe R-pakketten installeren met sqlmlutils.
Kopieer de map met de miniCRAN-opslagplaats volledig naar de server waarop u de pakketten wilt installeren. De map heeft doorgaans deze structuur:
<miniCRAN root>/bin/windows/contrib/version/<all packages>In deze procedure gaan we ervan uit dat er een map is die afkomt van de rootdrive.
Open een R-hulpprogramma dat is gekoppeld aan het exemplaar (u kunt bijvoorbeeld Rgui.exegebruiken). Klik met de rechtermuisknop en selecteer Uitvoeren als administrator om het hulpprogramma toe te staan om updates aan uw systeem aan te brengen.
- De standaardbestandslocatie voor RGUI is
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\bin\x64bijvoorbeeld .
- De bestandslocatie voor RGUI is bijvoorbeeld
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\bin\x64.
- Bijvoorbeeld, de bestandslocatie voor RGUI is
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\R_SERVICES\bin\x64.
- De standaardbestandslocatie voor RGUI is
Haal het pad voor de instantie-bibliotheek op en voeg het toe aan de lijst met bibliotheekpaden.
Bijvoorbeeld
outputlib <- "C:/Program Files/Microsoft SQL Server/MSSQL13.MSSQLSERVER/R_SERVICES/library"Bijvoorbeeld
outputlib <- "C:/Program Files/Microsoft SQL Server/MSSQL14.MSSQLSERVER/R_SERVICES/library"Bijvoorbeeld
outputlib <- "C:/Program Files/Microsoft SQL Server/MSSQL15.MSSQLSERVER/R_SERVICES/library"Geef de nieuwe locatie op de server op waar u de miniCRAN-opslagplaats hebt gekopieerd als
server_repo.In dit voorbeeld wordt ervan uitgegaan dat u de opslagplaats naar een tijdelijke map op de server hebt gekopieerd.
inputlib <- "C:/miniCRANZooPackages"Omdat u in een nieuwe R-werkruimte op de server werkt, moet u ook de lijst met pakketten inrichten die moeten worden geïnstalleerd.
mypackages <- c("zoo", "forecast")Installeer de pakketten en geef het pad naar de lokale kopie van de miniCRAN-opslagplaats op.
install.packages(mypackages, repos = file.path("file://", normalizePath(inputlib, winslash = "/")), lib = outputlib, type = "win.binary", dependencies = TRUE);Vanuit de exemplaarbibliotheek kunt u de geïnstalleerde pakketten weergeven met behulp van een opdracht als de volgende:
installed.packages()