Klíčové rozdíly mezi Machine Learning Services ve službách Azure SQL Managed Instance a SQL Server
Tento článek popisuje několik klíčových rozdílů ve funkcích mezi službami Machine Učení Services ve službě Azure SQL Managed Instance a službou SQL Server Machine Učení Services.
Podpora jazyků
Machine Učení Services ve spravované instanci SQL i SQL Serveru podporují architekturu rozšiřitelnosti Pythonu a R. Klíčovým rozdílem ve službě SQL Managed Instance je to, že se podporují jenom Python a R a nedají se přidat externí jazyky, jako je Java.
Počáteční verze Pythonu a R se liší ve službě SQL Managed Instance a SQL Serveru:
Platforma | Verze modulu runtime Pythonu | Verze modulu runtime jazyka R |
---|---|---|
Azure SQL Managed Instance | 3.7.2 | 3.5.2 |
SQL Server 2022 * | - | - |
SQL Server 2019 | 3.7.1 | 3.5.2 |
SQL Server 2017 | 3.5.2 a 3.7.2 (CU22 a novější) | 3.3.3 a 3.5.2 (CU22 a novější) |
SQL Server 2016 | Není k dispozici | 3.2.2 a 3.5.2 (SP2 CU14 a novější) |
* Počínaje SQL Serverem 2022 se moduly runtime pro R, Python a Java už nedoručují ani nenainstalují v rámci instalace SQL. Místo toho nainstalujte požadované vlastní moduly runtime a balíčky jazyka R nebo Python. Další informace najdete v tématu Instalace systému SQL Server 2022 Machine Učení Services (Python a R) ve Windows.
Balíčky Pythonu a R
Ve službě SQL Managed Instance neexistuje žádná podpora balíčků, které jsou závislé na externích modulech runtime (například Javě) nebo potřebují přístup k rozhraním API operačního systému pro účely instalace nebo použití.
Další informace o správě balíčků Python a R najdete tady:
Správa balíčků prostřednictvím sqlmlutils
Binární balíčky můžete nainstalovat pomocí sqlmlutils
, pokud můžete sestavit místně a vytvořit binární balíček jako výstup. Příklady najdete v tématu Instalace balíčků R pomocí nástrojů sqlmlutils nebo Instalace balíčků Python pomocí sqlmlutils.
Zásady správného řízení prostředků
Ve službě SQL Managed Instance není možné omezit prostředky R prostřednictvím správce prostředků a externí fondy zdrojů se nepodporují.
Ve výchozím nastavení jsou prostředky jazyka R nastaveny na maximálně 20 % dostupných prostředků služby SQL Managed Instance při povolení rozšiřitelnosti. Pokud chcete toto výchozí procento změnit, vytvořte lístek podpora Azure na adrese https://azure.microsoft.com/support/create-ticket/.
Rozšiřitelnost je povolená pomocí následujících příkazů SQL (služba SQL Managed Instance se restartuje a nebude dostupná po několik sekund):
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;
Pokud chcete zakázat rozšiřitelnost a obnovit 100 % prostředků paměti a procesoru na SQL Server, použijte následující příkazy:
sp_configure 'external scripts enabled', 0;
RECONFIGURE WITH OVERRIDE;
Celkový počet prostředků dostupných pro službu SQL Managed Instance závisí na zvolené úrovni služby. Další informace najdete v tématu Nákupní modely služby Azure SQL Database.
Chyba nedostatku paměti
Využití paměti závisí na tom, kolik se jí používá ve skriptech R, a na počtu spuštěných paralelních dotazů. Pokud pro jazyk R není k dispozici dostatek paměti, zobrazí se chybová zpráva. Běžné chybové zprávy jsou:
Unable to communicate with the runtime for 'R' script for request id: *******. Please check the requirements of 'R' runtime
'R' script error occurred during execution of 'sp_execute_external_script' with HRESULT 0x80004004. ...an external script error occurred: "..could not allocate memory (0 Mb) in C function 'R_AllocStringBuffer'"
An external script error occurred: Error: cannot allocate vector of size.
Pokud se zobrazí jedna z těchto chyb, můžete ji vyřešit škálováním databáze na vyšší úroveň služby.
Pokud ve službě Azure SQL Managed Instance narazíte na chyby nedostatku paměti, projděte si sys.dm_os_out_of_memory_events.
Fondy spravovaných instancí SQL
Služba Machine Učení Services se v současné době nepodporuje ve fondech služby Azure SQL Managed Instance (Preview).
Odchozí síťový přístup
Přístup k síti je zakázán nebo blokován a nelze ho povolit. Odchozí síťové připojení pro službu Azure SQL Managed Instance není pro službu Machine Učení Services dostupné.
Další kroky
- Podívejte se na přehled služby Machine Učení Ve službě Azure SQL Managed Instance.
- Informace o používání Pythonu ve službě Machine Učení Services najdete v tématu Spouštění skriptů Pythonu.
- Informace o použití jazyka R ve službě Machine Učení Services najdete v tématu Spouštění skriptů jazyka R.