Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: SQL Server 2016 (13.x) a novější verze
Azure SQL Managed Instance
V tomto rychlém startu se dozvíte, jak používat matematické a pomocné funkce jazyka R se službami SQL Server Machine Learning Services nebo clustery s velkými objemy dat. Statistické funkce jsou často složité implementovat v jazyce T-SQL, ale je možné je provádět v jazyce R pouze s několika řádky kódu.
V tomto rychlém startu se naučíte používat matematické a pomocné funkce jazyka R se službou SQL Server Machine Learning Services. Statistické funkce jsou často složité implementovat v jazyce T-SQL, ale je možné je provádět v jazyce R pouze s několika řádky kódu.
V tomto rychlém startu se dozvíte, jak používat matematické a pomocné funkce jazyka R se službami SQL Server R Services. Statistické funkce jsou často složité implementovat v jazyce T-SQL, ale je možné je provádět v jazyce R pouze s několika řádky kódu.
V tomto rychlém startu se dozvíte, jak používat datové struktury a datové typy při použití jazyka R ve službě Azure SQL Managed Instance Machine Learning Services. Dozvíte se o přesouvání dat mezi R a službou SQL Managed Instance a o běžných problémech, ke kterým může dojít.
Požadavky
Ke spuštění tohoto rychlého startu potřebujete následující požadavky.
- SQL Server Machine Learning Services. Informace o instalaci služby Machine Learning Services najdete v průvodci instalací systému Windows nebo v průvodci instalací pro Linux. Službu Machine Learning Services můžete také povolit v clusterech s velkými objemy dat SQL Serveru.
- SQL Server Machine Learning Services. Informace o instalaci služby Machine Learning Services najdete v průvodci instalací systému Windows.
- SQL Server 2016 R Services. Pokud chcete nainstalovat služby R Services, přečtěte si průvodce instalací systému Windows.
- Azure SQL Managed Instance Machine Learning Services Informace najdete v přehledu služby Azure SQL Managed Instance Machine Learning Services.
- Nástroj pro spouštění dotazů SQL, které obsahují skripty jazyka R. V tomto rychlém startu se používá Azure Data Studio.
Vytvoření uložené procedury pro generování náhodných čísel
Pro zjednodušení použijeme balíček R stats , který je nainstalovaný a načtený ve výchozím nastavení. Balíček obsahuje stovky funkcí pro běžné statistické úkoly, mezi nimi rnorm funkce, která generuje zadaný počet náhodných čísel pomocí normálního rozdělení vzhledem ke směrodatné odchylkě a střední hodnotě.
Například následující kód R generuje 100 čísel s průměrnou hodnotou 50 při směrodatné odchylce 3.
as.data.frame(rnorm(100, mean = 50, sd = 3));
Chcete-li volat tento R skript z T-SQL, přidejte R funkci do parametru R skriptu sp_execute_external_script, takto:
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 když chcete usnadnit generování jiné sady náhodných čísel?
To je snadné v kombinaci s T-SQL. Definujete uloženou proceduru, která získá argumenty od uživatele, a pak tyto argumenty předáte do skriptu R jako proměnné.
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));
První řádek definuje každý ze vstupních parametrů SQL, které jsou vyžadovány při spuštění uložené procedury.
Řádek začínající
@paramsdefinuje všechny proměnné používané kódem R a odpovídajícími datovými typy SQL.Řádky, které bezprostředně následují, mapují názvy parametrů SQL na odpovídající názvy proměnných jazyka R.
Teď, když jste funkci R zabalili do uložené procedury, můžete funkci snadno volat a předat různé hodnoty, například takto:
EXECUTE MyRNorm @param1 = 100,@param2 = 50, @param3 = 3
Řešení potíží s využitím funkcí nástroje R
Balíček nástrojů nainstalovaný ve výchozím nastavení poskytuje celou řadu funkcí nástroje pro zkoumání aktuálního prostředí R. Tyto funkce můžou být užitečné, pokud hledáte nesrovnalosti ve způsobu, jakým kód R funguje v SQL Serveru a v externích prostředích.
K zachycení času používaného procesy R a analýze problémů s výkonem můžete například použít funkce časování systému v jazyce R, například system.time a proc.time. Příklad najdete v kurzu Vytvoření datových funkcí , ve kterých jsou funkce časování jazyka R vloženy do řešení.
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;'
Další užitečné funkce najdete v tématu Použití funkcí profilace kódu R ke zlepšení výkonu.
Další kroky
Pokud chcete vytvořit model strojového učení pomocí jazyka R se strojovým učením SQL, postupujte podle tohoto rychlého startu: