Hlavní rozdíly mezi službami Machine Learning Services ve službě 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 Learning Services ve službě Azure SQL Managed Instance a služby SQL Server Machine Learning Services.
Podpora jazyků
Machine Learning Services ve spravované instanci SQL i SQL Serveru podporují architekturu rozšiřitelnostijazyka Python 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 |
---|---|---|
Spravovaná instance Azure SQL | 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 služby SQL Server 2022 Machine Learning 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 Resource Governora fondy externích zdrojů nejsou podporovány.
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 žádost o podporu Azure na 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 naleznete 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 používá ve skriptech R, a počtu spuštěných paralelních dotazů. Pokud pro jazyk R není k dispozici dostatek paměti, zobrazí se chybová zpráva. Mezi běžné chybové zprávy patří:
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.
Skupiny spravovaných instancí SQL
Služba Machine Learning Services se v současné době nepodporuje v fondy 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 Learning Services k dispozici.
Další kroky
- Podívejte se na přehled služby Machine Learning Services ve službě Azure SQL Managed Instance.
- Informace o používání Pythonu ve službě Machine Learning Services najdete v tématu Spouštění skriptů Pythonu.
- Informace o použití jazyka R ve službě Machine Learning Services najdete v tématu Spouštění skriptů jazyka R.