Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a cikk ismerteti a meglévő Apache Spark-számítási feladatok Azure Databricksen való futtatásához szükséges módosításokat. Függetlenül attól, hogy helyszíni fürtből, egyéni felhőalapú infrastruktúrából vagy egy másik vállalati Apache Spark-ajánlatból költözik az Azure Databricksbe, a legtöbb számítási feladat csak néhány módosítást igényel az éles környezetbe való bevezetéshez. Az Azure Databricks egyéni optimalizálások bevezetésével, az infrastruktúra konfigurálásával és üzembe helyezésével, valamint a databricks-futtatókörnyezet függőségeinek fenntartásával kibővíti, leegyszerűsíti és javítja az Apache Spark teljesítményét.
Fontos
Az Apache Spark verzióinak frissítésekor előfordulhat, hogy a szintaxis hibásan változik. Lásd a Databricks Runtime kibocsátási megjegyzéseinek verzióit és kompatibilitását , valamint a Spark migrálási útmutatót.
Váltás parquet a delta
A Databricks a Delta Lake használatát javasolja parquet vagy ORC helyett az adatok írásakor. Az Azure Databricks számos funkciót optimalizált a hatékonyság érdekében, amikor a Delta Lake által támogatott táblákkal kommunikál, és a Parquet adat- és kódformátumának a Delta Lake-re való frissítése csak néhány lépést tesz meg. Lásd: Parquet data lake migrálása a Delta Lake-be.
Mivel a Delta Lake ACID-tranzakciós garanciákat biztosít, lehetőség van a munkaterhelések egyszerűsítésére és az Apache Spark-műveletekben alkalmazott, pszeudo-tranzakciókat célzó megoldások kiküszöbölésére. Ide sorolhatóak például a kövekezők:
- Címtárstruktúra vagy particionálási stratégia létrehozása, amely lehetővé teszi egy adott művelet összes fájljának egyidejű felderítését egy partíció részeként.
- A metaadattár konfigurálása vagy támaszkodása az új adatok felderítésének tranzakciós jellegének hozzáadására.
- A
MSCK repairhasználatával regisztrálhatja a táblába írt fájlokat a metaadattárba. - A
alter table add partitionhasználatával manuálisan adhat hozzá partíciókat egy táblához.
Lásd a Mikor kell particionálni a táblákat az Azure Databrickstémakört.
Feljegyzés
A számítási feladatokat a használt adatformátumok frissítése nélkül is futtathatja, de az Azure Databricks legnagyobb teljesítménynövekedése közvetlenül a Delta Lake-hez kötődik.
Újrafordítási Apache Spark-kód Databricks Runtime-kompatibilis kódtárakkal
A Databricks Runtime minden verziója előre konfigurálva van az Apache Spark-alkalmazásokban szükséges kódtárak közül. Szükség szerint további kódtárakat is telepíthet a számításhoz, de ha lehetséges, a Databricks javasolja a databricks-futtatókörnyezetbe csomagolt kódtár-verziók használatát, amelyek kompatibilitását teszteli. Minden Databricks Runtime-kiadás tartalmazza az összes telepített kódtár listáját. Lásd a Databricks Runtime kibocsátási megjegyzéseinek verzióit és kompatibilitását.
SparkSession létrehozási parancsainak eltávolítása
Számos régi Apache Spark-számítási feladat explicit módon deklarál egy új SparkSession-t minden feladathoz. Az Azure Databricks automatikusan létrehoz egy SparkContextet az egyes számítási fürtökhöz, és külön SparkSession-t hoz létre a fürtön végrehajtott minden egyes jegyzetfüzethez vagy feladathoz. Fenntarthatja a kód helyi fordításának és tesztelésének, majd az Azure Databricksben való üzembe helyezésének lehetőségét a parancsok használatára SparkSession.builder().getOrCreate()való frissítésével.
Terminálszkriptparancsok eltávolítása
Az Apache Spark megköveteli, hogy a programok explicit módon deklarálják, hogy befejeződnek olyan parancsok használatával, mint a sys.exit() vagy sc.stop(). Az Azure Databricks a befejezésük után automatikusan leállítja és törli a feladatokat, ezért ezek a parancsok nem szükségesek, ezért el kell távolítani őket.
Az Azure Databricks emellett automatikusan leállítja és megtisztítja a strukturált streamelési számítási feladatokat a futtatás leállításakor, így eltávolíthatja awaitTermination() és hasonló parancsokat a strukturált streamelési alkalmazásokból.
Az Azure Databricks megbízhatósága a fürt konfigurálásához
Az Azure Databricks automatikusan konfigurálja a számítási fürt illesztőprogramjainak és végrehajtóinak összes beállítását a rugalmasság és az erőforrás-használat maximalizálása érdekében. A végrehajtók vagy A JVM egyéni konfigurációinak megadása csökkentheti a teljesítményt. A Databricks azt javasolja, hogy csak olyan Spark-konfigurációkat állítsunk be, amelyek szükségesek a típuskezelés vagy a függvények szabályozásához, hogy a logika konzisztens maradjon.
Számítási feladatok futtatása
Most, hogy eltávolította azOkat a mintákat, parancsokat és beállításokat, amelyek megzavarhatják az Azure Databricks végrehajtását, tesztkörnyezetben futtathatja a számítási feladatokat, és összehasonlíthatja a teljesítményt és az eredményeket az örökölt infrastruktúrával. Bár a csapat által az Apache Spark-számítási feladatok hibaelhárítására és teljesítményének javítására kifejlesztett képességek nagy része továbbra is kihasználható az Azure Databricksben, az Apache Spark, a Delta Lake vagy az egyéni Azure Databricks-termékek új funkcióinak használatára való frissítési lépések nagyobb haszonra tehetnek szert.