Delen via


T-SQL (CREATE EXTERNAL LIBRARY) gebruiken om R-pakketten op SQL Server te installeren

Van toepassing op: SQL Server 2017 (14.x)

In dit artikel wordt uitgelegd hoe u nieuwe R-pakketten installeert op een exemplaar van SQL Server waarvoor machine learning is ingeschakeld. Er zijn meerdere benaderingen waaruit u kunt kiezen. Het gebruik van T-SQL werkt het beste voor serverbeheerders die niet bekend zijn met R.

Met de instructie CREATE EXTERNAL LIBRARY kunt u een pakket of set pakketten toevoegen aan een exemplaar of een specifieke database zonder R- of Python-code rechtstreeks uit te voeren. Voor deze methode zijn echter pakketvoorbereiding en aanvullende databasemachtigingen vereist.

  • Alle pakketten moeten beschikbaar zijn als een lokaal zip-bestand, in plaats van op aanvraag te downloaden van internet.

  • Alle afhankelijkheden moeten worden geïdentificeerd op naam en versie en worden opgenomen in het zip-bestand. De instructie mislukt als vereiste pakketten niet beschikbaar zijn, inclusief downstreampakketafhankelijkheden.

  • U moet db_owner zijn of een machtiging voor CREATE EXTERNAL LIBRARY hebben in een databaserol. Zie CREATE EXTERNAL LIBRARY voor meer informatie.

Pakketten downloaden in archiefvorm

Als u één pakket installeert, downloadt u het pakket in zip-indeling.

Het is gebruikelijker om meerdere pakketten te installeren vanwege pakketafhankelijkheden. Wanneer voor een pakket andere pakketten zijn vereist, moet u controleren of ze allemaal tijdens de installatie voor elkaar toegankelijk zijn. We raden u aan een lokale opslagplaats te maken met behulp van miniCRAN om een volledige verzameling pakketten samen te stellen, evenals igraph voor het analyseren van afhankelijkheden van pakketten. Als u de verkeerde versie van een pakket installeert of een pakketafhankelijkheid weglaat, kan een CREATE EXTERNAL LIBRARY-instructie mislukken.

Het bestand kopiëren naar een lokale map

Kopieer het zip-bestand met alle pakketten naar een lokale map op de server. Als u geen toegang hebt tot het bestandssysteem op de server, kunt u ook een volledig pakket doorgeven als een variabele, met behulp van een binaire indeling. Zie CREATE EXTERNAL LIBRARY voor meer informatie.

Voer de instructie uit om pakketten te uploaden

Open een queryvenster met een account met beheerdersbevoegdheden.

Voer de T-SQL-instructie CREATE EXTERNAL LIBRARY uit om de zip-pakketverzameling te uploaden naar de database.

De volgende instructie benoemt een miniCRAN-repository als pakketbron met het randomForest-pakket en de bijbehorende afhankelijkheden.

CREATE EXTERNAL LIBRARY [randomForest]
FROM (CONTENT = 'C:\Temp\Rpackages\randomForest_4.6-12.zip')
WITH (LANGUAGE = 'R');

U kunt geen willekeurige naam gebruiken; de naam van de externe bibliotheek moet dezelfde naam hebben die u verwacht te gebruiken bij het laden of aanroepen van het pakket.

Installatie van pakket controleren

Als de bibliotheek is gemaakt, kunt u het pakket uitvoeren in SQL Server door het aan te roepen in een opgeslagen procedure.

EXEC sp_execute_external_script
@language =N'R',
@script=N'library(randomForest)'

Zie ook