Samouczek: Tworzenie SQL Server dla data scientistów w R

Dotyczy: SQL Server 2017 (14.x) i nowsze wersje

W tym samouczku dla data scientistów dowiedz się, jak zbudować kompleksowe rozwiązanie do modelowania predykcyjnego oparte na wsparciu funkcji R w SQL Server 2017. Ten samouczek korzysta z bazy danych demonstracyjnych NYC Taxi na SQL Server.

Używasz kombinacji kodu języka R, danych programu SQL Server i niestandardowych funkcji SQL, aby utworzyć model klasyfikacji, który wskazuje prawdopodobieństwo, że kierowca może uzyskać poradę dotyczącą konkretnej podróży taksówką. Model języka R jest również wdrażany w programie SQL Server i używasz danych serwera do generowania wyników na podstawie modelu.

Ten przykład można rozszerzyć na wszelkiego rodzaju rzeczywiste problemy, takie jak przewidywanie reakcji klientów na kampanie sprzedażowe czy przewidywanie wydatków czy frekwencji na wydarzeniach. Ponieważ można wywołać model z procedury przechowywanej, można go łatwo osadzić w aplikacji.

Ponieważ przewodnik ma na celu wprowadzenie programistów R do usług R (In-Database), jest wykorzystywany wszędzie tam, gdzie to możliwe. Jednak nie oznacza to, że R jest koniecznie najlepszym narzędziem do każdego zadania. W wielu przypadkach program SQL Server może zapewnić lepszą wydajność, szczególnie w przypadku zadań takich jak agregacja danych i inżynieria cech. Takie zadania mogą szczególnie korzystać z nowych funkcji w programie SQL Server, takich jak zoptymalizowane pod kątem pamięci indeksy magazynu kolumn. Staramy się wskazać możliwe optymalizacje po drodze.

Wymagania wstępne

Zalecamy wykonanie tej instrukcji na komputerze klienckim. Musisz mieć możliwość połączenia się w tej samej sieci z komputerem, na którym włączono SQL Server i język R. Instrukcje dotyczące konfiguracji stacji roboczej można znaleźć w artykule Ustaw klienta data science do rozwoju R na SQL Server.

Alternatywnie można uruchomić przewodnik na komputerze, który ma zarówno program SQL Server, jak i środowisko programistyczne języka R, ale nie zalecamy tej konfiguracji dla środowiska produkcyjnego. Jeśli musisz umieścić klienta i serwer na tym samym komputerze, pamiętaj o zainstalowaniu drugiego zestawu bibliotek języka Microsoft R na potrzeby wysyłania skryptu języka R z klienta "zdalnego". Nie używaj bibliotek R, które są zainstalowane w plikach programu instancji SQL Server. Konkretnie, jeśli używasz jednego komputera, potrzebujesz biblioteki RevoScaleR w obu tych lokalizacjach, aby wspierać operacje klienta i serwera.

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

Dodatkowe pakiety języka R

Ten przewodnik wymaga kilku bibliotek R, które nie są domyślnie zainstalowane jako część R Services (In-Database). Pakiety należy zainstalować zarówno na kliencie, na którym tworzysz rozwiązanie, jak i na komputerze z programem SQL Server, na którym wdrażasz rozwiązanie.

Na stacji roboczej klienta

W środowisku języka R skopiuj następujące wiersze i wykonaj kod w oknie konsoli (Rgui lub IDE). Niektóre pakiety instalują również wymagane pakiety. W sumie instalowanych jest około 32 pakietów. Aby wykonać ten krok, musisz mieć połączenie internetowe.

# 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')}

Na serwerze

Istnieje kilka opcji instalowania pakietów w programie SQL Server. Na przykład SQL Server oferuje funkcję Instalowanie pakietów R za pomocą sqlmlutils, która umożliwia administratorom baz danych tworzenie repozytorium pakietów i nadawanie użytkownikom uprawnień do instalowania własnych pakietów. Jednak jeśli jesteś administratorem na komputerze, możesz instalować nowe pakiety korzystając z R, pod warunkiem, że instalujesz do właściwej biblioteki.

Uwaga / Notatka

Na serwerze nie instaluj do biblioteki użytkownika, nawet jeśli ktoś o to poprosi. Jeśli instalujesz do biblioteki użytkownika, instancja SQL Server nie może znaleźć ani uruchomić pakietów. Aby uzyskać więcej informacji, zobacz Install R packages with sqlmlutils.

  1. Na komputerze z programem SQL Server otwórz RGui.exe jako administrator. Jeśli zainstalujesz SQL Server R Services z domyślnymi ustawieniami, znajdziesz RGui.exe w C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\bin\x64.

  2. W wierszu polecenia języka R uruchom następujące polecenia języka R:

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])

W tym przykładzie użyto funkcji grep języka R do wyszukania wektora dostępnych ścieżek i znalezienia ścieżki zawierającej "Program Files". Aby uzyskać więcej informacji, zobacz RDocumentation dla pakietu podstawowego.

Jeśli uważasz, że pakiety są już zainstalowane, sprawdź listę zainstalowanych pakietów, uruchamiając polecenie installed.packages().

Następny krok