Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: SQL Server 2016 (13.x) i nowsze wersje
usługi Azure SQL Managed Instance
W tym przewodniku Szybki start dowiesz się, jak używać funkcji matematycznych i narzędziowych języka R w usługach SQL Server Machine Learning Services lub w klastrach danych big data. Funkcje statystyczne są często skomplikowane do zaimplementowania w języku T-SQL, ale można to zrobić w języku R z zaledwie kilkoma wierszami kodu.
W tym przewodniku Szybki start dowiesz się, jak używać funkcji matematycznych i narzędziowych języka R z usługami SQL Server Machine Learning Services. Funkcje statystyczne są często skomplikowane do zaimplementowania w języku T-SQL, ale można to zrobić w języku R z zaledwie kilkoma wierszami kodu.
W tym wprowadzeniu nauczysz się, jak używać funkcji matematycznych i narzędzi języka R z usługami R programu SQL Server. Funkcje statystyczne są często skomplikowane do zaimplementowania w języku T-SQL, ale można to zrobić w języku R z zaledwie kilkoma wierszami kodu.
W tym przewodniku Szybki start dowiesz się, jak używać struktur danych i typów danych podczas korzystania z języka R w usługach Azure SQL Managed Instance Machine Learning Services. Dowiesz się więcej o przenoszeniu danych między usługą R i usługą SQL Managed Instance oraz o typowych problemach, które mogą wystąpić.
Wymagania wstępne
Aby uruchomić szybki start, potrzebne są następujące prerekwizyty.
- SQL Server Machine Learning Services. Aby zainstalować usługi Machine Learning Services, zobacz przewodnik instalacji systemu Windows lub przewodnik instalacji systemu Linux. Usługi Machine Learning Services można również włączyć w klastrach danych big data programu SQL Server.
- SQL Server Machine Learning Services. Aby zainstalować usługi Machine Learning Services, zobacz Przewodnik instalacji systemu Windows.
- Usługi SQL Server 2016 R. Aby zainstalować usługi języka R, zobacz Przewodnik instalacji systemu Windows.
- Azure SQL Managed Instance Machine Learning Services. Aby uzyskać informacje, zobacz Omówienie usług Azure SQL Managed Instance Machine Learning Services.
- Narzędzie do uruchamiania zapytań SQL zawierających skrypty języka R. W tym przewodniku Szybki start jest używany program Azure Data Studio.
Utworzyć procedurę składowaną w celu wygenerowania liczb losowych
Dla uproszczenia użyjemy pakietu języka R stats , który jest instalowany i ładowany domyślnie. Pakiet zawiera setki funkcji dla typowych zadań statystycznych, wśród nich rnorm funkcję, która generuje określoną liczbę liczb losowych przy użyciu rozkładu normalnego, biorąc pod uwagę odchylenie standardowe i średnią.
Na przykład, poniższy kod w języku R zwraca 100 liczb o średniej 50 przy odchyleniu standardowym wynoszącym 3.
as.data.frame(rnorm(100, mean = 50, sd = 3));
Aby wywołać ten wiersz R z T-SQL, dodaj funkcję R w parametrze skryptu R w sp_execute_external_script, jak poniżej:
EXECUTE sp_execute_external_script
@language = N'R'
, @script = N'
OutputDataSet <- as.data.frame(rnorm(100, mean = 50, sd =3));'
, @input_data_1 = N' ;'
WITH RESULT SETS (([Density] float NOT NULL));
Co zrobić, jeśli chcesz ułatwić generowanie innego zestawu liczb losowych?
Jest to łatwe w połączeniu z językiem T-SQL. Zdefiniuj procedurę składowaną, która pobiera argumenty od użytkownika, a następnie przekazuje te argumenty do skryptu języka R jako zmienne.
CREATE PROCEDURE MyRNorm (
@param1 INT
, @param2 INT
, @param3 INT
)
AS
EXECUTE sp_execute_external_script @language = N'R'
, @script = N'
OutputDataSet <- as.data.frame(rnorm(mynumbers, mymean, mysd));'
, @input_data_1 = N' ;'
, @params = N' @mynumbers int, @mymean int, @mysd int'
, @mynumbers = @param1
, @mymean = @param2
, @mysd = @param3
WITH RESULT SETS(([Density] FLOAT NOT NULL));
Pierwszy wiersz definiuje każdy z parametrów wejściowych SQL, które są wymagane podczas wykonywania procedury składowanej.
Wiersz rozpoczynający się od
@paramsdefiniuje wszystkie zmienne używane przez kod języka R i odpowiadające im typy danych SQL.Wiersze te bezpośrednio przyporządkowują nazwy parametrów SQL do odpowiadających im nazw zmiennych R.
Teraz, gdy funkcja języka R została opakowana w procedurę składowaną, możesz łatwo wywołać funkcję i przekazać różne wartości w następujący sposób:
EXECUTE MyRNorm @param1 = 100,@param2 = 50, @param3 = 3
Rozwiązywanie problemów przy użyciu funkcji narzędzi języka R
Pakiet narzędzi instalowany domyślnie udostępnia różne funkcje narzędzi do badania bieżącego środowiska języka R. Te funkcje mogą być przydatne, jeśli znajdziesz rozbieżności w sposobie wykonywania kodu języka R w programie SQL Server i w środowiskach zewnętrznych.
Na przykład można użyć funkcji chronometrażu systemu w języku R, takich jak system.time i proc.time, do przechwytywania czasu używanego przez procesy języka R i analizowania problemów z wydajnością. Aby zapoznać się z przykładem, zobacz samouczek Tworzenie funkcji danych , w których funkcje chronometrażu języka R są osadzone w rozwiązaniu.
EXECUTE sp_execute_external_script
@language = N'R'
, @script = N'
library(utils);
start.time <- proc.time();
# Run R processes
elapsed_time <- proc.time() - start.time;'
Aby uzyskać informacje o innych przydatnych funkcjach, zobacz Używanie funkcji profilowania kodu języka R w celu zwiększenia wydajności.
Dalsze kroki
Aby utworzyć model uczenia maszynowego za pomocą języka R z uczeniem maszynowym SQL, wykonaj czynności opisane w tym przewodniku szybkiego startu: