Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Apache Spark-pools in Azure Synapse gebruiken runtimes om essentiële onderdeelversies, zoals Azure Synapse-optimalisaties, pakketten en connectors met een specifieke Apache Spark-versie, te koppelen. Elke runtime wordt periodiek bijgewerkt met nieuwe verbeteringen, functies en patches. Wanneer u een serverloze Apache Spark-pool maakt, selecteert u de bijbehorende Apache Spark-versie. Op basis hiervan wordt de pool vooraf geïnstalleerd met de bijbehorende runtime-onderdelen en -pakketten.
De runtimes hebben de volgende voordelen:
- Snellere opstarttijden van sessies
- Geteste compatibiliteit met specifieke Apache Spark-versies
- Toegang tot populaire, compatibele connectors en opensource-pakketten
Ondersteunde releases van Azure Synapse-runtime
Aanbeveling
We raden u ten zeerste aan om workloads proactief te upgraden naar een recentere GA-versie van de runtime. Dit is Azure Synapse Runtime voor Apache Spark 3.5 (GA). Raadpleeg de Apache Spark-migratiehandleiding.
De volgende tabel bevat de runtimenaam, de Apache Spark-versie en de releasedatum voor ondersteunde Azure Synapse Runtime-releases.
| Runtimenaam | Releasedatum | Releasefase | Einddatum van ondersteuningsaankondiging | Ingangsdatum van de ondersteuning |
|---|---|---|---|---|
| Azure Synapse Runtime voor Apache Spark 3.5 | 13 oktober 2025 | Algemene Vergadering | 31 oktober 2026 | 31 oktober 2027 |
| Azure Synapse Runtime voor Apache Spark 3.4 | 21 november 2023 | EOSA | 30 april 2025 | Q1 2026 |
| Azure Synapse Runtime voor Apache Spark 3.3 | 17 november 2022 | afgeschaft en binnenkort uitgeschakeld | 12 juli 2024 | 31 maart 2025 |
Runtimereleasefasen
Raadpleeg Synapse Runtime voor de levenscyclus en ondersteuningsbeleid van Apache Spark voor de volledige runtime voor de levenscyclus en ondersteuning van Apache Spark.
Runtimepatching
Azure Synapse-runtimes voor Apache Spark-patches worden maandelijks geïmplementeerd met bug-, functie- en beveiligingsoplossingen voor de Apache Spark-kernengine, taalomgevingen, connectors en bibliotheken.
Notitie
- Onderhoudsupdates worden automatisch toegepast op nieuwe sessies voor een bepaalde serverloze Apache Spark-pool.
- U moet testen en valideren dat uw toepassingen correct worden uitgevoerd bij het gebruik van nieuwe runtimeversies.
Belangrijk
Log4j 1.2.x-beveiligingspatches
Opensource Log4j-bibliotheek versie 1.2.x heeft verschillende bekende CVE's (Common Vulnerabilities and Exposures), zoals hier wordt beschreven.
Op alle Synapse Spark-poolruntimes hebben we de Log4j 1.2.17 JAR's gepatcht om de volgende CV's te beperken: CVE-2019-1751, CVE-2020-9488, CVE-2021-4104, CVE-2022-23302, CVE-2022-2330, CVE-2022-23307
De toegepaste patch werkt door de volgende bestanden te verwijderen die nodig zijn om de beveiligingsproblemen aan te roepen:
org/apache/log4j/net/SocketServer.classorg/apache/log4j/net/SMTPAppender.classorg/apache/log4j/net/JMSAppender.classorg/apache/log4j/net/JMSSink.classorg/apache/log4j/jdbc/JDBCAppender.classorg/apache/log4j/chainsaw/*
Hoewel de bovenstaande klassen niet zijn gebruikt in de standaardconfiguraties van Log4j in Synapse, is het mogelijk dat sommige gebruikerstoepassing er nog steeds van afhankelijk kan zijn. Als uw toepassing deze klassen moet gebruiken, gebruikt u Bibliotheekbeheer om een beveiligde versie van Log4j toe te voegen aan de Spark-pool. Gebruik Log4j versie 1.2.17 niet, omdat deze de beveiligingsproblemen opnieuw zou introduceren.
Het patchbeleid verschilt op basis van de levenscyclusfase van runtime:
Algemeen beschikbare runtime (GA): Ontvang geen upgrades voor primaire versies (dat wil gezegd 3.x -> 4.x). En voert een upgrade uit van een secundaire versie (dat wil gezegd 3.x -> 3.y) zolang er geen afschaffings- of regressie-effecten zijn.
Preview-runtime: geen primaire versie-upgrades, tenzij strikt noodzakelijk. Secundaire versies (3.x -> 3.y) worden bijgewerkt om de nieuwste functies toe te voegen aan een runtime.
LtS-runtime (Long Term Support) wordt alleen gepatcht met beveiligingsoplossingen.
Het einde van de aangekondigde ondersteuningsruntime heeft geen bug- en functiecorrecties. Beveiligingsoplossingen worden teruggezet op basis van risicoanalyse.
Migratie tussen Apache Spark-versies - ondersteuning
Deze gids biedt een gestructureerde aanpak voor gebruikers die hun Azure Synapse Runtime voor Apache Spark-workloads willen upgraden naar de nieuwste GA-versie, zoals 3.5. Door een upgrade naar de meest recente versie uit te voeren, kunnen gebruikers profiteren van prestatieverbeteringen, nieuwe functies en verbeterde beveiligingsmaatregelen. Het is belangrijk te weten dat het overstappen naar een hogere versie mogelijk aanpassingen van uw bestaande Spark-code vereist vanwege incompatibiliteit of afgeschafte functies.
Stap 1: Evalueren en plannen
- Beoordeel de compatibiliteit: Begin met het bekijken van Apache Spark-migratiegidsen om mogelijke incompatibiliteiten, verouderde functies en nieuwe API's tussen je huidige Spark-versie en de doelversie (bijvoorbeeld 3.5) te identificeren.
- Codebase analyseren: bekijk zorgvuldig uw Spark-code om het gebruik van afgeschafte of gewijzigde API's te identificeren. Let vooral op SQL-query's en door de gebruiker gedefinieerde functies (UDF's), die mogelijk worden beïnvloed door de upgrade.
Stap 2: Een nieuwe Spark-pool maken voor testen
- Een nieuwe pool maken: Ga in Azure Synapse naar de sectie Spark-pools en stel een nieuwe Spark-pool in. Selecteer de doelversie van Spark (bijvoorbeeld 3.5) en configureer deze volgens je prestatie-eisen.
- Configureer Spark Pool-configuratie: Zorg ervoor dat alle bibliotheken en afhankelijkheden in je nieuwe Spark-pool zijn bijgewerkt of vervangen om compatibel te zijn met Spark 3.5.
Stap 3: Uw code migreren en testen
- Code migreren: Werk je code bij zodat deze voldoet aan de nieuwe of herziene API's in Apache Spark 3.5. Dit omvat het aanpakken van afgeschafte functies en het aannemen van nieuwe functies, zoals beschreven in de officiële Apache Spark-documentatie.
- Testen in ontwikkelomgeving: test uw bijgewerkte code in een ontwikkelomgeving in Azure Synapse, niet lokaal. Deze stap is essentieel voor het identificeren en oplossen van problemen voordat u naar productie gaat.
- Zet in en houd toezicht op: Na grondig testen en valideren in de ontwikkelomgeving, deploy je je applicatie naar de nieuwe Spark 3.5 pool. Het is essentieel om de toepassing te controleren op onverwacht gedrag. Gebruik de bewakingshulpprogramma's die beschikbaar zijn in Azure Synapse om de prestaties van uw Spark-toepassingen bij te houden.
Vraag: Welke stappen moeten worden uitgevoerd voor migratie naar 3.X?
Antwoord: Raadpleeg de Apache Spark-migratiehandleiding.
Vraag: Er is een fout opgetreden bij het upgraden van spark-poolruntime met behulp van de PowerShell-cmdlet wanneer ze bibliotheken hebben gekoppeld.
Antwoord: Gebruik de PowerShell-cmdlet niet als u aangepaste bibliotheken hebt geïnstalleerd in uw Synapse-werkruimte. Voer in plaats daarvan de volgende stappen uit:
- Maak uw Spark-pool opnieuw vanaf de grond.
- Downgrade de huidige Spark Pool, verwijder alle gekoppelde pakketten en upgrade daarna opnieuw naar de nieuwste GA-versie, zoals 3.5
Vraag: Waarom kan ik niet upgraden naar 3.5 zonder een nieuwe Spark-pool opnieuw aan te maken?
Antwoord: Dit is niet toegestaan vanuit UX. De klant kan Azure PowerShell gebruiken om de Spark-versie bij te werken. Gebruik ForceApplySetting, zodat bestaande clusters (met een oude versie) buiten gebruik worden gesteld.
Voorbeeldquery:
$_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.5 -ForceApplySetting
}
}
}