Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure Synapse Apache Spark-készletei futtatókörnyezetekkel kötik össze az olyan alapvető összetevők verzióit, mint az Azure Synapse optimalizálás, csomagok és összekötők egy adott Apache Spark-verzióval. Minden futtatókörnyezetet rendszeresen frissítünk, hogy új fejlesztéseket, funkciókat és javításokat tartalmazzon. Kiszolgáló nélküli Apache Spark-készlet létrehozásakor válassza ki a megfelelő Apache Spark-verziót. Ennek alapján a készlet előre telepítve van a kapcsolódó futtatókörnyezeti összetevőkkel és csomagokkal.
A futtatókörnyezetek a következő előnyökkel rendelkeznek:
- Gyorsabb munkamenetindítási idők
- Tesztelt kompatibilitás adott Apache Spark-verziókkal
- Hozzáférés népszerű, kompatibilis összekötőkhöz és nyílt forráskódú csomagokhoz
Támogatott Azure Synapse-futtatókörnyezeti kiadások
Tipp.
Határozottan javasoljuk, hogy proaktív módon frissítse a számítási feladatokat a futtatókörnyezet egy újabb GA-verziójára, amely az Apache Spark 3.5-höz készült Azure Synapse Runtime (GA). Tekintse meg az Apache Spark migrálási útmutatót.
Az alábbi táblázat a futtatókörnyezet nevét, az Apache Spark-verziót és a támogatott Azure Synapse Runtime-kiadások kiadási dátumát sorolja fel.
| Futtatókörnyezet neve | Kiadási dátum | Kiadási fázis | Támogatás megszűnésének bejelentési dátuma | A támogatás megszűnésének érvényes dátuma |
|---|---|---|---|---|
| Azure Synapse Futtatókörnyezet az Apache Spark 3.5-höz | 2025. október 13. | GA | 2026. október 31. | 2027. október 31. |
| 2023. nov. 21. | elavult, és hamarosan le lesz tiltva | 2025. április 30. | 2026. március 31., kedd | |
| 2022. nov. 17. | elavult, és hamarosan le lesz tiltva | 2024. július 12. | 2025. március 31. |
Futtatókörnyezet kiadási fázisai
Az Apache Spark életciklusának és támogatási szabályzatainak teljes futásidejéhez tekintse meg a Synapse-futtatókörnyezetet az Apache Spark életciklusához és a támogatottsághoz.
Futtatókörnyezet javítása
Az Apache Spark-javításokhoz készült Azure Synapse-futtatókörnyezetek havonta jelennek meg, amelyek hiba-, funkció- és biztonsági javításokat tartalmaznak az Apache Spark core motoron, a nyelvi környezeteken, az összekötőken és a kódtárakon.
Feljegyzés
- A rendszer automatikusan alkalmazza a karbantartási frissítéseket egy adott kiszolgáló nélküli Apache Spark-készlet új munkameneteire.
- Tesztelje és ellenőrizze, hogy az alkalmazások megfelelően futnak-e új futtatókörnyezeti verziók használatakor.
Fontos
Log4j 1.2.x biztonsági javítások
A nyílt forráskódú Log4j-kódtár 1.2.x-es verziója számos ismert CVE-vel (gyakori biztonsági résekkel és kitettségekkel) rendelkezik, az itt leírtak szerint.
Az összes Synapse Spark Pool-futtatókörnyezetben kijavítottuk a Log4j 1.2.17 JAR-eket a következő CVE-k csökkentése érdekében: CVE-2019-1751, CVE-2020-9488, CVE-2021-4104, CVE-2022-23302, CVE-2022-2330, CVE-2022-23307
Az alkalmazott javítás a következő fájlok eltávolításával működik, amelyek a biztonsági rések meghívásához szükségesek:
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/*
Bár a fenti osztályokat nem használták a Synapse alapértelmezett Log4j-konfigurációiban, lehetséges, hogy egyes felhasználói alkalmazások továbbra is függhetnek attól. Ha az alkalmazásnak ezeket az osztályokat kell használnia, a Library Management használatával adja hozzá a Log4j biztonságos verzióját a Spark-készlethez. Ne használja a Log4j 1.2.17-es verzióját, mivel az újra bevezetné a biztonsági réseket.
A javítási szabályzat a futásidejű életciklus fázisa alapján különbözik:
Általánosan elérhető (GA) futtatókörnyezet: Nem kap frissítést a főverziókon (azaz 3.x -> 4.x). És frissít egy alverziót (azaz 3.x -> 3.y) mindaddig, amíg nincsenek elavulási vagy regressziós hatások.
Előzetes verziójú futtatókörnyezet: Nincs főverzió-frissítés, kivéve, ha feltétlenül szükséges. Az alverziók (3.x -> 3.y) frissítve lesznek, hogy a legújabb funkciókat hozzáadják a futtatókörnyezethez.
A hosszú távú támogatási (LTS) futtatókörnyezet csak biztonsági javításokkal van javítva.
A támogatás megszűnéséről bejelentett futtatókörnyezetben nem lesznek hiba- és funkciójavítások. A biztonsági javítások a kockázatértékelés alapján kerülnek visszajelentésre.
Migrálás az Apache Spark-verziók között – támogatás
Ez az útmutató strukturált megközelítést kínál azoknak a felhasználóknak, akik Azure Synapse Runtime-jukat Apache Spark munkaterheléséhez szeretnék frissíteni a legújabb GA verzióra, például a 3.5-re. A legújabb verzióra való frissítés lehetővé teszi, hogy a felhasználók kihasználják a teljesítménybeli fejlesztéseket, az új funkciókat és a továbbfejlesztett biztonsági intézkedéseket. Fontos megjegyezni, hogy a magasabb verzióra való áttéréshez szükség lehet a meglévő Spark-kód módosítására inkompatibilitás vagy elavult funkciók miatt.
1. lépés: Értékelés és tervezés
- A kompatibilitás értékelése: Kezdje az Apache Spark migrációs útmutatóinak áttekintésével, hogy azonosítsd a lehetséges inkompatibilisséget, elavult funkciókat és új API-kat a jelenlegi Spark verzió és a célverzió (például 3.5) között.
- A Codebase elemzése: Gondosan vizsgálja meg a Spark-kódot az elavult vagy módosított API-k használatának azonosításához. Különös figyelmet kell fordítani az SQL-lekérdezésekre és a felhasználó által definiált függvényekre (UDF-ek), amelyeket érinthet a frissítés.
2. lépés: Új Spark-készlet létrehozása teszteléshez
- Új készlet létrehozása: Az Azure Synapse-ban lépjen a Spark-készletek szakaszra, és állítson be egy új Spark-készletet. Válaszd ki a cél Spark verziót (például 3.5), és állítsd be a teljesítményigényeid szerint.
- Spark Pool konfigurációjának konfigurálása: Győződj meg róla, hogy az új Spark poolod összes könyvtára és függősége frissítve vagy cserélődjön ki, hogy kompatibilis legyen a Spark 3.5-tel.
3. lépés: A kód migrálása és tesztelése
- Migrációs kód: Frissítsd a kódodat, hogy megfeleljen az Apache Spark 3.5 új vagy módosított API-ival. Ez magában foglalja az elavult függvények kezelését és az új funkciók bevezetését a hivatalos Apache Spark-dokumentációban leírtak szerint.
- Tesztelés fejlesztői környezetben: A frissített kód tesztelése az Azure Synapse fejlesztői környezetében, nem helyileg. Ez a lépés elengedhetetlen a problémák azonosításához és javításához, mielőtt éles környezetbe lépne.
- Telepítés és figyelés: Alapos tesztelés és validáció után telepítsd az alkalmazásodat az új Spark 3.5 poolba. Kritikus fontosságú az alkalmazás figyelése a váratlan viselkedések esetén. Használja az Azure Synapse-ban elérhető monitorozási eszközöket a Spark-alkalmazások teljesítményének nyomon követéséhez.
Kérdés: Milyen lépéseket kell végrehajtani a 3.X-re való migráláshoz?
Válasz: Tekintse meg az Apache Spark migrálási útmutatót.
Kérdés: Hibaüzenetet kaptam, amikor PowerShell-parancsmaggal próbáltam frissíteni a Spark-készlet futtatókörnyezetét, amikor csatlakoztatott kódtárak vannak.
Válasz: Ne használja a PowerShell-parancsmagot, ha egyéni kódtárak vannak telepítve a Synapse-munkaterületen. Ehelyett kövesse az alábbi lépéseket:
- Hozza létre újra a Spark-készletet az alapoktól kezdve.
- Leminősítsd a jelenlegi Spark Poolt, távolítsd el a csatolt csomagokat, majd frissítsd újra a legfrissebb GA verzióra, például 3.5-re
Kérdés: Miért nem tudok 3.5-ösre frissíteni anélkül, hogy újra létrehoznék egy új Spark poolt?
Válasz: Ez nem engedélyezett az UX-től, az ügyfél az Azure PowerShell használatával frissítheti a Spark-verziót. Használja a "ForceApplySetting" parancsot, hogy a meglévő (régi verziójú) fürtök leszerelhetők legyenek.
Mintalekérdezés:
$_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
}
}
}