Sdílet prostřednictvím


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:

  1. Znovu vytvořte fond Sparku 3.3 od základů.
  2. 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
              }
        }
    }