Moduly runtime Azure Synapse
Fondy Apache Sparku v Azure Synapse používají moduly runtime ke spojení základních verzí komponent, jako jsou optimalizace Azure Synapse, balíčky a konektory s konkrétní verzí Apache Sparku. Každý modul runtime se pravidelně upgraduje tak, aby zahrnoval nová vylepšení, funkce a opravy. Při vytváření bezserverového fondu Apache Spark vyberte odpovídající verzi Apache Sparku. Na základě toho je fond předinstalovaný s přidruženými komponentami a balíčky modulu runtime.
Moduly runtime mají následující výhody:
- Rychlejší časy spuštění relace
- Otestovaná kompatibilita s konkrétními verzemi Apache Sparku
- Přístup k oblíbeným, kompatibilním konektorům a opensourcovým balíčkům
Podporované verze modulu runtime Azure Synapse
Tip
Důrazně doporučujeme proaktivně upgradovat úlohy na novější verzi modulu runtime ga, což je Azure Synapse Runtime pro Apache Spark 3.4 (GA)). Projděte si průvodce migrací Apache Sparku.
Následující tabulka uvádí název modulu runtime, verzi Apache Sparku a datum vydání podporovaných verzí modulu runtime Azure Synapse Runtime.
Název modulu runtime | Datum vydání | Fáze vydání | Datum ukončení podpory | Datum účinnosti ukončení podpory |
---|---|---|---|---|
Azure Synapse Runtime pro Apache Spark 3.4 | 21. listopadu 2023 | GA (od 8. dubna 2024) | Q2 2025 | Otázka č. 1 2026 |
Azure Synapse Runtime pro Apache Spark 3.3 | 17. listopadu 2022 | ukončení podpory oznámeny | 12. července 2024 | 3/31/2025 |
Azure Synapse Runtime pro Apache Spark 3.2 | 8. července 2022 | zastaralé a brzy zakázané | 8. července 2023 | 8. července 2024 |
Azure Synapse Runtime pro Apache Spark 3.1 | 26. května 2021 | zastaralé a brzy zakázané | 26. ledna 2023 | 26. ledna 2024 |
Azure Synapse Runtime pro Apache Spark 2.4 | 15. prosince 2020 | zastaralé a brzy zakázané | 29. července 2022 | 29. září 2023 |
Fáze vydání modulu runtime
Úplný modul runtime pro životní cyklus Apache Sparku a zásady podpory najdete v modulu runtime Synapse pro životní cyklus Apache Sparku a možnosti podpory.
Opravy za běhu
Moduly runtime Azure Synapse pro opravy Apache Sparku se zahrnou měsíčně obsahující chyby, funkce a opravy zabezpečení základního modulu, jazykových prostředí, konektorů a knihoven Apache Sparku.
Poznámka:
- Aktualizace údržby se automaticky použijí na nové relace pro daný bezserverový fond Apache Sparku.
- Při používání nových verzí modulu runtime byste měli otestovat a ověřit, že vaše aplikace běží správně.
Důležité
Opravy zabezpečení Log4j 1.2.x
Opensourcová knihovna Log4j verze 1.2.x má několik známých cves (běžná ohrožení zabezpečení a expozice), jak je popsáno zde.
Ve všech modulech runtime fondu Synapse Spark jsme opravili jars Log4j 1.2.17, abychom zmírnit následující cvEs: CVE-2019-1751, CVE-2020-9488, CVE-2021-4104, CVE-2022-23302, CVE-2022-2330, CVE-2022-23307
Použitá oprava funguje odebráním následujících souborů, které jsou potřeba k vyvolání ohrožení zabezpečení:
org/apache/log4j/net/SocketServer.class
org/apache/log4j/net/SMTPAppender.class
org/apache/log4j/net/JMSAppender.class
org/apache/log4j/net/JMSSink.class
org/apache/log4j/jdbc/JDBCAppender.class
org/apache/log4j/chainsaw/*
I když se výše uvedené třídy nepoužívaly ve výchozích konfiguracích Log4j v Synapse, je možné, že na ní stále může záviset některá uživatelská aplikace. Pokud vaše aplikace potřebuje použít tyto třídy, použijte Správa knihovny k přidání zabezpečené verze Log4j do fondu Spark. Nepoužívejte Log4j verze 1.2.17, protože by to mohlo znovu narušovat chyby zabezpečení.
Zásady oprav se liší v závislosti na fázi životního cyklu modulu runtime:
Obecně dostupný modul runtime (GA): V hlavních verzích (tj. 3.x –> 4.x) neobdrží žádné upgrady. A upgraduje podverzi (tj. 3.x –> 3.y), pokud nedojde k žádnému vyřazení nebo regresním dopadům.
Modul runtime verze Preview: Pokud to není nezbytně nutné, upgrady hlavní verze se neupgradují. Podverze (3.x –> 3.y) se upgraduje, aby se do modulu runtime přidaly nejnovější funkce.
Modul runtime dlouhodobé podpory (LTS) se opravuje pouze s opravami zabezpečení.
Ukončení podpory oznámeného modulu runtime nebude obsahovat chyby a opravy funkcí. Opravy zabezpečení se backportují na základě posouzení rizik.
Migrace mezi verzemi Apache Sparku – podpora
Tato příručka poskytuje strukturovaný přístup pro uživatele, kteří chtějí upgradovat své úlohy Azure Synapse Runtime pro úlohy Apache Sparku z verzí 2.4, 3.1, 3.2 nebo 3.3 na nejnovější verzi GA, například 3.4. Upgrade na nejnovější verzi umožňuje uživatelům využívat vylepšení výkonu, nové funkce a vylepšená bezpečnostní opatření. Je důležité si uvědomit, že přechod na vyšší verzi může vyžadovat úpravy stávajícího kódu Sparku kvůli nekompatibilitě nebo zastaralým funkcím.
Krok 1: Vyhodnocení a plánování
- Kompatibilita posouzení: Začněte kontrolou průvodců migrací Apache Sparku, abyste identifikovali případné nekompatibility, zastaralé funkce a nová rozhraní API mezi vaší aktuální verzí Sparku (2.4, 3.1, 3.2 nebo 3.3) a cílovou verzí (např. 3.4).
- Analýza základu kódu: Pečlivě prozkoumejte kód Sparku a identifikujte použití zastaralých nebo upravených rozhraní API. Věnujte zvláštní pozornost dotazům SQL a uživatelem definovaným funkcím (UDF), které můžou být ovlivněny upgradem.
Krok 2: Vytvoření nového fondu Sparku pro testování
- Vytvoření nového fondu: V Azure Synapse přejděte do části Fondy Sparku a nastavte nový fond Sparku. Vyberte cílovou verzi Sparku (např. 3.4) a nakonfigurujte ji podle vašich požadavků na výkon.
- Konfigurace fondu Sparku: Ujistěte se, že jsou všechny knihovny a závislosti v novém fondu Sparku aktualizované nebo nahrazené, aby byly kompatibilní se Sparkem 3.4.
Krok 3: Migrace a testování kódu
- Migrace kódu: Aktualizujte kód tak, aby vyhovoval novým nebo revidovaným rozhraním API v Apache Sparku 3.4. To zahrnuje řešení zastaralých funkcí a přijetí nových funkcí, jak je podrobně popsáno v oficiální dokumentaci k Apache Sparku.
- Testování ve vývojovém prostředí: Otestujte aktualizovaný kód ve vývojovém prostředí v Azure Synapse, ne místně. Tento krok je nezbytný pro identifikaci a opravu všech problémů před přechodem do produkčního prostředí.
- Nasazení a monitorování: Po důkladném testování a ověření ve vývojovém prostředí nasaďte aplikaci do nového fondu Spark 3.4. Je důležité monitorovat aplikaci za účelem jakéhokoli neočekávaného chování. Využijte monitorovací nástroje dostupné ve službě Azure Synapse, abyste mohli sledovat výkon vašich aplikací Spark.
Otázka: Jaké kroky byste měli provést při migraci z verze 2.4 na verzi 3.X?
Odpověď: Projděte si průvodce migrací Apache Sparku.
Otázka: Při pokusu o upgrade modulu runtime fondu Spark pomocí rutiny PowerShellu, když jsou připojené knihovny, došlo k chybě.
Odpověď: Nepoužívejte rutinu PowerShellu, pokud máte ve svém pracovním prostoru Synapse nainstalované vlastní knihovny. Místo toho postupujte takto:
- Znovu vytvořte fond Sparku 3.3 od základů.
- Downgrade aktuálního fondu Sparku 3.3 na verzi 3.1, odeberte všechny připojené balíčky a pak upgradujte znovu na verzi 3.3.
Otázka: Proč nejde upgradovat na verzi 3.4 bez opětovného vytvoření nového fondu Sparku?
Odpověď: Tato možnost není povolená z uživatelského prostředí, zákazník může k aktualizaci verze Sparku použít Azure PowerShell. Použijte forceApplySetting, aby se všechny existující clustery (se starou verzí) vyřadily z provozu.
Ukázkový dotaz:
$_target_work_space = @("workspace1", "workspace2")
Get-AzSynapseWorkspace |
ForEach-Object {
if ($_target_work_space -contains $_.Name) {
$_workspace_name = $_.Name
Write-Host "Updating workspace: $($_workspace_name)"
Get-AzSynapseSparkPool -WorkspaceName $_workspace_name |
ForEach-Object {
Write-Host "Updating Spark pool: $($_.Name)"
Write-Host "Current Spark version: $($_.SparkVersion)"
Update-AzSynapseSparkPool -WorkspaceName $_workspace_name -Name $_.Name -SparkVersion 3.4 -ForceApplySetting
}
}
}