Megosztás a következőn keresztül:


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ó.

Egy példa az Azure Databricks-felületen lévő feladatra, amely 4 feladatot és egy naponta futtatandó eseményindítót jelenít meg.

Ez a példafeladat a következő jellemzőkkel rendelkezik:

  1. Az első feladat feldolgozza a bevételi adatokat.
  2. A második feladat egy ha / különben ellenőrzés nulla értékek esetén.
  3. Ha nem, akkor egy átalakítási feladat fut.
  4. Ellenkező esetben egy jegyzetfüzet-feladatot futtat adatminőség-ellenőrzéssel.
  5. 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:

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.