A Databricks orchestrációjának áttekintése
Az Azure Databricks beépített lehetőséget kínál az adatfeldolgozási munkafolyamatok összehangolására, így több feladatot koordinálhat és futtathat egy nagyobb munkafolyamat részeként. Egyszerűsítheti, optimalizálhatja és ütemezheti a gyakori, megismételhető feladatok végrehajtását, ami megkönnyíti az összetett munkafolyamatok kezelését.
Ez a cikk az éles számítási feladatok Databricks-feladatok használatával történő kezelésével kapcsolatos fogalmakat és választási lehetőségeket ismerteti.
Mik azok a feladatok?
A Databricksben a feladatok a Databricksen végzett feladatok ütemezésére és vezénylésére szolgálnak egy munkafolyamatban. A gyakori adatfeldolgozási munkafolyamatok közé tartoznak az ETL-munkafolyamatok, a futó jegyzetfüzetek és a gépi tanulási (ML-) munkafolyamatok, valamint az olyan külső rendszerekkel való integráció, mint a DBT és az Azure Data Factory (ADF).
A munkák egy vagy több feladatból állnak, és támogatják az egyéni vezérlési folyamatos logikát, például az elágazást (if/else utasítások) vagy a ciklust (for each utasítások) egy vizuális szerkesztő felület használatával. A feladatok betölthetnek vagy átalakíthatnak adatokat egy ETL-munkafolyamatban, vagy gépi tanulási folyamatok részeként szabályozott és megismételhető módon hozhatnak létre, taníthatnak be és helyezhetnek üzembe ML-modelleket.
Példa: Napi adatfeldolgozási és érvényesítési feladat
Az alábbi példában egy Azure Databricks-feladat látható.
Ez a példafeladat a következő jellemzőkkel rendelkezik:
- Az első feladat feldolgozza a bevételi adatokat.
- A második feladat egy ha / különben ellenőrzés nulla értékek esetén.
- Ha nem, akkor egy átalakítási feladat fut.
- Ellenkező esetben egy jegyzetfüzet-feladatot futtat adatminőség-ellenőrzéssel.
- Az ütemezés szerint minden nap 11:29-kor fut.
A saját feladatok létrehozásának gyors bemutatása: Az első munkafolyamat létrehozása Azure Databricks-feladattal.
A gyakori használat esetei
Az alapvető adatelemzési alapelvektől a fejlett gépi tanulásig és a zökkenőmentes eszközintegrációig ezek a gyakori használati esetek bemutatják a modern elemzést, a munkafolyamat-automatizálást és az infrastruktúra méretezhetőségét hajtó képességek széles skálázását.
Orchestációs fogalmak
Az Azure Databricks vezénylésének három fő fogalma van: munkafolyamatok, feladatok és triggerek.
Feladat – A feladatok a műveletek összehangolásának, ütemezésének és futtatásának elsődleges erőforrásai. A feladatok összetettsége az Azure Databricks-jegyzetfüzetet futtató egyetlen tevékenységtől a feltételes logikával és függőségekkel rendelkező feladatok százaiig terjedhet. A feladatokat egy irányított aciklikus gráf (DAG) ábrázolja vizuálisan. Megadhatja a feladat tulajdonságait, többek között a következőket:
- Trigger – ez határozza meg, hogy mikor kell futtatni a feladatot.
- Paraméterek – futásidejű paraméterek, amelyeket a rendszer automatikusan leküld a feladaton belüli tevékenységekbe.
- Értesítések – e-maileket vagy webhookokat kell küldeni, ha egy feladat meghiúsul vagy túl sokáig tart.
- Git – a feladatfeladatok forrásvezérlési beállításai.
Tevékenység – A tevékenység egy adott munkaegység egy feladaton belül. Minden tevékenység többféle műveletet hajthat végre, többek között a következőket:
- Egy jegyzetfüzet-feladat egy Databricks-jegyzetfüzetet futtat. Megadhatja a jegyzetfüzet elérési útját és a szükséges paramétereket.
- Egy csővezeték-feladat futtat egy csővezetéket. Megadhat egy meglévő DLT-folyamatot, például egy materializált nézetet vagy egy streamelési táblát.
- A Python-szkriptfeladatok Python-fájlt futtatnak. Megadja a fájl elérési útját és a szükséges paramétereket.
A feladatoknak számos típusa van. A teljes listát Tevékenységek típusaicímű témakörben találja. A tevékenységek függőségekkel rendelkezhetnek más tevékenységekhez, és feltételesen futtathatnak más tevékenységeket, így összetett munkafolyamatokat hozhat létre feltételes logikával és függőségekkel.
Trigger – Az eseményindító olyan mechanizmus, amely meghatározott feltételek vagy események alapján kezdeményezi a feladat futtatását. Az indítók lehetnek időalapúak, például egy feladat ütemezett időpontban való futtatása (például minden nap 2:00-kor), vagy eseményalapúak lehetnek, például egy feladat futtatása, amikor új adatok érkeznek a felhőbeli tárolóba.
Monitorozás és megfigyelhetőség
A feladatok beépített támogatást nyújtanak a monitorozáshoz és a megfigyelhetőséghez. Az alábbi témakörök áttekintést nyújtanak erről a támogatásról. A feladatok monitorozásáról és a vezénylésről további információt Databricks-feladatok monitorozása és megfigyelhetőségecímű témakörben talál.
Feladatok monitorozása és megfigyelhetősége a felhasználói felületen – Az Azure Databricks felhasználói felületén megtekintheti a feladatokat, például a feladat tulajdonosát és az utolsó futtatás eredményét, valamint a feladattulajdonságok alapján szűrhet. Megtekintheti a munkamenetek végrehajtásainak előzményeit, és részletes információkat kaphat a munkafolyamatban lévő egyes feladatokról.
Feladatfuttatás állapota és metrikái – A Databricks a feladatok sikeres futtatásáról, valamint a feladatokon belüli tevékenységek naplóiról és metrikáiról számol be a problémák diagnosztizálásához és a teljesítmény megértéséhez.
Értesítések és riasztások – A feladateseményekre vonatkozó értesítéseket e-mailben, a Slackben, az egyéni webhookokban és számos egyéb beállításban állíthatja be.
egyéni lekérdezések rendszertáblákon – Az Azure Databricks olyan rendszertáblákat biztosít, amelyek rögzítik a feladatfuttatásokat és a feladatokat a fiókban. Ezeket a táblákat a feladatok teljesítményének és költségeinek lekérdezéséhez és elemzéséhez használhatja. Irányítópultokat hozhat létre a feladatok metrikáinak és trendjeinek megjelenítéséhez, amelyek segítenek a munkafolyamatok állapotának és teljesítményének monitorozásában.
Korlátozások
Az alábbi korlátozások érvényesek:
- Egy munkaterület legfeljebb 2000 egyidejű tevékenységfuttatásra korlátozódik.
429 Too Many Requests
válasz jelenik meg, ha olyan futtatást kér, amelyet a rendszer nem tud azonnal elindítani. - A munkaterület egy órán belül létrehozható feladatainak száma legfeljebb 10000 lehet (beleértve a "futtatások elküldését"). Ez a korlát a REST API- és jegyzetfüzet-munkafolyamatokkal létrehozott feladatokra is vonatkozik.
- Egy munkaterület legfeljebb 12000 mentett feladatot tartalmazhat.
- Egy feladat legfeljebb 100 tevékenységet tartalmazhat.
Kezelhetim a munkafolyamatokat programozott módon?
A Databricks olyan eszközökkel és API-kkal rendelkezik, amelyekkel programozott módon ütemezheti és vezényelheti munkafolyamatait, beleértve a következőket:
- Databricks CLI
- Databricks-eszközcsomagok
- Databricks-bővítmény a Visual Studio Code-hoz
- Databricks SDK-k
- Munkahelyek REST API
Példák a feladatok létrehozására és kezelésére szolgáló eszközök és API-k használatára: Feladatlétrehozás és -kezelés automatizálása. Az összes elérhető fejlesztői eszköz dokumentációját Helyi fejlesztési eszközökcímű témakörben találja.
A külső eszközök a Databricks-eszközöket és API-kat használják a munkafolyamatok programozott ütemezéséhez. Feladatait olyan eszközökkel ütemezheti, mint az Azure Data Factory vagy az Apache AirFlow.
Munkafolyamat vezénylése az Apache AirFlow-tal
Az Apache Airflow használatával kezelheti és ütemezheti az adat-munkafolyamatokat. Az Airflow használatával egy Python-fájlban definiálhatja a munkafolyamatot, az Airflow pedig felügyeli a munkafolyamat ütemezését és futtatását. Lásd: Azure Databricks-feladatok vezénylése az Apache Airflow használatával.
Munkafolyamat-vezénylés az Azure Data Factoryvel
Az Azure Data Factory (ADF) egy felhőalapú adatintegrációs szolgáltatás, amellyel adattárolási, áthelyezési és feldolgozási szolgáltatásokat írhat automatizált adatfolyamokba. Az ADF használatával egy Azure Databricks-feladatot vezényelhet egy ADF-folyamat részeként.
Az ADF beépített támogatással rendelkezik a Databricks-jegyzetfüzetek, Python-szkriptek vagy kód ADF-folyamatok JAR-jeibe csomagolt futtatásához is.
A Databricks-jegyzetfüzetek ADF-folyamatokban való futtatásáról a Databricks-jegyzetfüzet futtatása az Azure Data Factory Databricks-notebook-tevékenységével, majd az adatok átalakítása Databricks-jegyzetfüzet futtatásával című témakörben olvashat.
Ha tudni szeretné, hogyan futtathat Python-szkripteket egy ADF-folyamatban, olvassa el az Adatok átalakítása Python-tevékenység Azure Databricksben való futtatásával című témakört.
Ha meg szeretné tudni, hogyan futtathat JAR-ban csomagolt kódot egy ADF-folyamatban, olvassa el az Adatok átalakítása JAR-tevékenység azure Databricksben való futtatásával című témakört.