Azure Synapse-runtimes

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, kunt u de bijbehorende Apache Spark-versie selecteren. 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

Waarschuwing

Melding over einde van ondersteuning voor Azure Synapse Runtime voor Apache Spark 2.4 en Apache Spark 3.1.

  • Vanaf 29 september 2023 wordt de officiële ondersteuning voor Spark 2.4 Runtimes stopgezet in Azure Synapse.
  • Vanaf 26 januari 2024 wordt de officiële ondersteuning voor Spark 3.1-runtimes in Azure Synapse stopgezet.
  • Na deze datums hebben we geen ondersteuningstickets met betrekking tot Spark 2.4 of 3.1. Er is geen release-pijplijn aanwezig voor bug- of beveiligingsoplossingen voor Spark 2.4 en 3.1. Het gebruik van Spark 2.4 of 3.1 na de ondersteuningsonderkapingsdatums wordt op eigen risico uitgevoerd. We raden het gebruik ervan sterk af vanwege mogelijke beveiligings- en functionaliteitsproblemen.
  • We raden u ten zeerste aan om workloads proactief te upgraden naar een recentere versie van de runtime (bijvoorbeeld Azure Synapse Runtime voor Apache Spark 3.3 (GA)).

De volgende tabel bevat de runtimenaam, de Apache Spark-versie en de releasedatum voor ondersteunde Azure Synapse Runtime-releases.

Runtimenaam Releasedatum Releasefase Datum van einde levensduuraankondiging Ingangsdatum van het einde van de levensduur
Azure Synapse Runtime voor Apache Spark 3.4 21 november 2023 Openbare preview (algemene beschikbaarheid verwacht in Q1 2024)
Azure Synapse Runtime voor Apache Spark 3.3 17 november 2022 GA (vanaf 23 februari 2023) Q1/Q2 2024 Q1 2025
Azure Synapse Runtime voor Apache Spark 3.2 8 juli 2022 Einde levensduur aangekondigd (EOLA) 8 juli 2023 8 juli 2024
Azure Synapse Runtime voor Apache Spark 3.1 26 mei 2021 Einde levensduur (EOL) niet ondersteund 26 januari 2023 26 januari 2024
Azure Synapse Runtime voor Apache Spark 2.4 15 december 2020 Einde levensduur (EOL) niet ondersteund 29 juli 2022 29 september 2023

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.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/*

Hoewel de bovenstaande klassen niet zijn gebruikt in de standaard log4j-configuraties 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 levensduur aangekondigde runtime (EOLA) heeft geen bug- en functiecorrecties. Beveiligingsoplossingen worden teruggezet op basis van risicoanalyse.

Migratie tussen Apache Spark-versies - ondersteuning

Algemene upgraderichtlijnen/veelgestelde vragen:

Vraag: Welke stappen moeten worden uitgevoerd bij het migreren van 2.4 naar 3.X?

Antwoord: Raadpleeg de volgende migratiehandleiding: https://spark.apache.org/docs/latest/sql-migration-guide.html

Vraag: Er is een fout opgetreden bij het upgraden van spark-poolruntime met behulp van PowerShell commandlet wanneer ze bibliotheken hebben gekoppeld

Antwoord: Gebruik PowerShell Commandlet niet als u aangepaste bibliotheken hebt geïnstalleerd in uw Synapse-werkruimte. Voer in plaats daarvan de volgende stappen uit:

  • Maak Spark-pool 3.3 opnieuw vanaf de grond.
  • Downgrade de huidige Spark-pool 3.3 naar 3.1, verwijder alle gekoppelde pakketten en voer vervolgens een upgrade uit naar 3.3.