Tutorial: SQL Server-ontwikkeling voor R data scientists

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

In deze tutorial voor data scientists leer je hoe je een end-to-end oplossing bouwt voor voorspellende modellering gebaseerd op R-feature-ondersteuning in SQL Server 2017. Deze tutorial gebruikt een NYC Taxi-demodatabase op SQL Server.

nl-NL: U gebruikt een combinatie van R code, SQL Server-gegevens en aangepaste SQL-functies om een classificatiemodel te bouwen dat de waarschijnlijkheid aangeeft dat de chauffeur een fooi krijgt voor een bepaalde taxirit. U implementeert ook uw R-model in SQL Server en gebruikt servergegevens om scores te genereren op basis van het model.

Je kunt dit voorbeeld uitbreiden naar allerlei problemen in het echte leven, zoals het voorspellen van klantreacties op verkoopcampagnes, of het voorspellen van uitgaven of aanwezigheid bij evenementen. Omdat je het model vanuit een opgeslagen procedure kunt aanroepen, kun je het eenvoudig in een applicatie inbedden.

Omdat de walkthrough is ontworpen om R-ontwikkelaars kennis te laten maken met R-diensten (In-Database), wordt het waar mogelijk gebruikt. Dit betekent echter niet dat R per se het beste hulpmiddel is voor elke taak. In veel gevallen kan SQL Server betere prestaties bieden, met name voor taken zoals gegevensaggregatie en functie-engineering. Dergelijke taken kunnen met name profiteren van nieuwe functies in SQL Server, zoals columnstore-indexen die zijn geoptimaliseerd voor geheugen. We proberen mogelijke optimalisaties onderweg aan te wijzen.

Vereiste voorwaarden

Wij raden aan deze doorloop uit te voeren op een client workstation. U moet verbinding kunnen maken op hetzelfde netwerk met een SQL Server-computer waar SQL Server en de R-taal zijn ingeschakeld. Voor instructies over werkstationconfiguratie, zie Set up a data science client for R-ontwikkeling op SQL Server.

U kunt het scenario ook uitvoeren op een computer met zowel SQL Server als een R-ontwikkelomgeving, maar we raden deze configuratie niet aan voor een productieomgeving. Als u client en server op dezelfde computer wilt plaatsen, moet u een tweede set Microsoft R-bibliotheken installeren voor het verzenden van R-script vanaf een externe client. Gebruik de R-bibliotheken die in de programmabestanden van de SQL Server-instantie zijn geïnstalleerd, niet. Specifiek, als je één computer gebruikt, heb je de RevoScaleR-bibliotheek op beide locaties nodig om client- en serveroperaties te ondersteunen.

  • C:\Program Files\Microsoft\R Client\R_SERVER\library\RevoScaleR
  • C:\Program Files\Microsoft SQL Server\MSSQL14. MSSQLSERVER\R_SERVICES\library\RevoScaleR

Aanvullende R-pakketten

Deze walkthrough vereist meerdere R-bibliotheken die niet standaard zijn geïnstalleerd als onderdeel van R Services (In-Database). U moet de pakketten installeren op de client waar u de oplossing ontwikkelt en op de SQL Server-computer waarop u de oplossing implementeert.

Op een clientwerkstation

Kopieer in uw R-omgeving de volgende regels en voer de code uit in een consolevenster (Rgui of een IDE). Sommige pakketten installeren ook vereiste pakketten. In alles worden ongeveer 32 pakketten geïnstalleerd. U moet een internetverbinding hebben om deze stap uit te voeren.

# Install required R libraries, if they are not already installed.
if (!('ggmap' %in% rownames(installed.packages()))){install.packages('ggmap')}
if (!('mapproj' %in% rownames(installed.packages()))){install.packages('mapproj')}
if (!('ROCR' %in% rownames(installed.packages()))){install.packages('ROCR')}
if (!('RODBC' %in% rownames(installed.packages()))){install.packages('RODBC')}

Op de server

U hebt verschillende opties voor het installeren van pakketten op SQL Server. Zo biedt SQL Server de Install R-pakketten met de sqlmlutils-functie waarmee databasebeheerders een pakketrepository kunnen aanmaken en gebruikersrechten kunnen toewijzen om hun eigen pakketten te installeren. Als je echter een beheerder bent op de computer, kun je nieuwe pakketten installeren door R te gebruiken, zolang je het in de juiste bibliotheek installeert.

Opmerking

Installeer op de server niet in een gebruikersbibliotheek, zelfs niet als je erom vraagt. Als je het installeert in een gebruikersbibliotheek, kan de SQL Server-instantie de pakketten niet vinden of uitvoeren. Zie R-pakketten installeren met sqlmlutilsvoor meer informatie.

  1. Open RGui.exe als beheerder op de SQL Server-computer. Als je SQL Server R Services installeert met de standaardinstellingen, kun je RGui.exe vinden in C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\bin\x64.

  2. Voer bij een R-prompt de volgende R-opdrachten uit:

install.packages("ggmap", lib=grep("Program Files", .libPaths(), value=TRUE)[1])
install.packages("mapproj", lib=grep("Program Files", .libPaths(), value=TRUE)[1])
install.packages("ROCR", lib=grep("Program Files", .libPaths(), value=TRUE)[1])
install.packages("RODBC", lib=grep("Program Files", .libPaths(), value=TRUE)[1])

In dit voorbeeld wordt de functie R grep gebruikt om de vector van beschikbare paden te doorzoeken en het pad te vinden dat 'Program Files' bevat. Zie voor meer informatie RDocumentation voor het basispakket.

Als u denkt dat de pakketten al zijn geïnstalleerd, controleert u de lijst met geïnstalleerde pakketten door uit te voeren installed.packages().

Volgende stap