Azure Databricks-feladatok létrehozása, futtatása és kezelése

A feladat a nem interaktív kód futtatásának egy módja az Azure Databricks-fürtben. Például a kinyerési, átalakítási és betöltési (ETL) számítási feladatokat futtathatja interaktívan, vagy ütemezett módon. A feladatokat interaktív módon is futtathatja a jegyzetfüzet felhasználói felületén.

Feladatokat hozhat létre és futtathat a felhasználói felületről vagy a CLI-ből, illetve a Jobs API meghívásával. A felhasználói felület vagy az API segítségével javíthatja és ismét futtathatja a sikertelen vagy törölt feladatokat. A feladatfuttatások eredményeit a felhasználói felület, a parancssori felület, az API és az értesítések (például e-mail, webhook célhely vagy Slack-értesítések) használatával figyelheti. Ez a cikk a felhasználói felület használatával végzett feladatfeladatok elvégzésére összpontosít. A többi módszerért lásd: Jobs CLI és Jobs API 2.1.

A feladat állhat egyetlen tevékenységből, vagy egy nagy, többfeladatos, összetett függőségekkel rendelkező munkafolyamat is lehet. Az Azure Databricks végzi a feladatok összehangolását, a fürtkezelést, a monitorozást és a hibajelentést az összes feladathoz. Egy könnyen használható ütemezési rendszer segítségével azonnal vagy rendszeres időközönként futtathatja a feladatokat.

Feladat implementálható JAR-ban, Azure Databricks-jegyzetfüzetben, Delta Live Tables-folyamatban vagy Scalában, Java-ban vagy Pythonban írt alkalmazásban. Az örökölt Spark Submit-alkalmazások is támogatottak. A tevékenységek végrehajtási sorrendjét a tevékenységek közötti függőségek megadásával szabályozhatja. A feladatokat konfigurálhatja úgy, hogy egymás után vagy párhuzamosan fussanak. Az alábbi diagram egy olyan munkafolyamatot mutat be, amely:

  1. Betölti a nyers clickstream-adatokat, és feldolgozást végez a rekordok munkamenetesítéséhez.

  2. Betölti a rendelési adatokat, és összekapcsolja azokat a munkamenetes kattintásfolyam-adatokkal, hogy létrehozhasson egy előkészített adatkészletet az elemzéshez.

  3. Kinyeri a funkciókat az előkészített adatokból.

  4. Párhuzamosan hajt végre feladatokat a funkciók megőrzése és a gépi tanulási modell betanítása érdekében.

    Példa többfeladatos munkafolyamatra

Az első munkafolyamat Azure Databricks-feladattal való létrehozásához tekintse meg a rövid útmutatót.

Fontos

  • Feladatokat csak adatelemzési & munkaterületen vagy Machine Learning-munkaterületen hozhat létre.
  • A munkaterület legfeljebb 1000 feladat egyidejű futtatására képes. 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 által egy óra alatt létrehozható feladatok száma legfeljebb 10000 (beleértve a "futtatások elküldését" is). Ez a korlát a REST API- és jegyzetfüzet-munkafolyamatokkal létrehozott feladatokra is vonatkozik.

Feladat létrehozása

  1. Tegye a következők egyikét:

    • Az oldalsávon kattintson a Feladatok ikonmunkafolyamatai elemre, majd a Feladat létrehozása gombra.
    • Az oldalsávon kattintson az Új ikonÚj elemre, és válassza a Feladat lehetőséget.

    Megjelenik a Feladatok lap a Feladat létrehozása párbeszédpanellel.

    Feladat létrehozása képernyő

  2. Cserélje le a Feladat nevének hozzáadása ... elemet a feladat nevére.

  3. Adja meg a tevékenység nevét a Tevékenység neve mezőben.

  4. A Típus legördülő menüben válassza ki a futtatni kívánt feladat típusát.

    • Jegyzetfüzet: A Forrás legördülő menüben válassza ki a jegyzetfüzet helyét; egy Azure Databricks-munkaterület mappájában található jegyzetfüzet munkaterülete vagy egy távoli Git-adattárban található jegyzetfüzet Git-szolgáltatója .

      Munkaterület: A fájlböngészővel keresse meg a jegyzetfüzetet, kattintson a jegyzetfüzet nevére, és kattintson a Megerősítés gombra.

      Git-szolgáltató: Kattintson a Szerkesztés gombra, és adja meg a Git-adattár adatait. Lásd: Verzióvezérelt jegyzetfüzetek használata Azure Databricks-feladatban.

    • JAR: Adja meg a Fő osztályt. Használja a fő metódust tartalmazó osztály teljes nevét, például org.apache.spark.examples.SparkPi: . Ezután kattintson a Hozzáadás elemre a Függő tárak területen a feladat futtatásához szükséges kódtárak hozzáadásához. Az egyik kódtárnak tartalmaznia kell a fő osztályt.

      A JAR-feladatokkal kapcsolatos további információkért lásd: JAR-feladatok.

    • Spark Submit: A Paraméterek szövegmezőben adja meg a főosztályt, a jar kódtár elérési útját és az összes argumentumot, sztringek JSON-tömbjeként formázva. Az alábbi példa egy spark-submit feladatot konfigurál az DFSReadWriteTest Apache Spark-példákból való futtatáshoz:

      ["--class","org.apache.spark.examples.DFSReadWriteTest","dbfs:/FileStore/libraries/spark_examples_2_12_3_1_1.jar","/dbfs/databricks-datasets/README.md","/FileStore/examples/output/"]
      

      Fontos

      A spark-submit tevékenységekre számos korlátozás vonatkozik:

      • A spark-submit tevékenységeket csak új fürtökön futtathatja.
      • A Spark-submit nem támogatja a fürt automatikus skálázását. Az automatikus skálázásról további információt a Fürt automatikus skálázása című témakörben talál.
      • A Spark-submit nem támogatja a Databricks Utilitiest. A Databricks Utilities használatához használjon JAR-feladatokat.
      • Unity Catalog-kompatibilis fürt használata esetén a spark-submit csak akkor támogatott, ha a fürt egyfelhasználós hozzáférési módot használ. A megosztott hozzáférési mód nem támogatott.
    • Python-szkript: A Forrás legördülő menüben válassza ki a Python-szkript helyét, vagy a munkaterületet a helyi munkaterületen lévő szkripthez, vagy a DBFS-en vagy a felhőbeli tárolóban található szkripthez tartozó DBFS-t . Az Elérési út szövegmezőbe írja be a Python-szkript elérési útját:

      Munkaterület: A Python-fájl kiválasztása párbeszédpanelen keresse meg a Python-szkriptet, és kattintson a Megerősítés gombra. A szkriptnek egy Databricks-adattárban kell lennie.

      DBFS: Adja meg egy Python-szkript URI-ját a DBFS-en vagy a felhőtárhelyen; például: dbfs:/FileStore/myscript.py.

    • Delta Live Tables-folyamat: A Folyamat legördülő menüben válasszon ki egy meglévő Delta Live Tables-folyamatot .

      Fontos

      A Folyamat feladattal csak aktivált folyamatokat használhat. A folyamatos folyamatok nem támogatottak feladatfeladatként. Az aktivált és a folyamatos folyamatokkal kapcsolatos további információkért lásd: Folyamatos és aktivált folyamatok.

    • Python Wheel: A Csomagnév szövegmezőbe írja be az importálni kívánt csomagot, például myWheel-1.0-py2.py3-none-any.whl: . A Belépési pont szövegmezőbe írja be a kerek indításakor meghívni kívánt függvényt. Kattintson a Hozzáadás gombra a Függő tárak területen a feladat futtatásához szükséges kódtárak hozzáadásához.

    • SQL: Az SQL-feladat legördülő menüjében válassza a Lekérdezés, irányítópult vagy Riasztás lehetőséget.

      Megjegyzés

      Lekérdezés: Az SQL-lekérdezés legördülő menüjében válassza ki a feladat futtatásakor végrehajtandó lekérdezést. Az SQL Warehouse legördülő menüjében válasszon ki egy kiszolgáló nélküli vagy profi SQL-raktárat a feladat futtatásához.

      Irányítópult: Az SQL-irányítópult legördülő menüjében válasszon ki egy frissítendő irányítópultot a feladat futtatásakor. Az SQL Warehouse legördülő menüjében válasszon ki egy kiszolgáló nélküli vagy profi SQL-raktárat a feladat futtatásához.

      Riasztás: Az SQL-riasztás legördülő menüjében válasszon ki egy riasztást, amely kiértékeléshez aktiválódik. Az SQL Warehouse legördülő menüjében válasszon ki egy kiszolgáló nélküli vagy profi SQL-raktárat a feladat futtatásához.

    • dbt: A dbt-feladatok konfigurálásának részletes példáját lásd: Dbt használata Azure Databricks-feladatban .

  5. Konfigurálja azt a fürtöt, amelyen a feladat fut. A Fürt legördülő menüben válassza az Új feladatfürt vagy a Meglévő All-Purpose-fürtök lehetőséget.

    • Új feladatfürt: Kattintson a Fürt legördülő menü Szerkesztés gombjára, és fejezze be a fürtkonfigurációt.
    • Meglévő All-Purpose fürt: Válasszon ki egy meglévő fürtöt a Fürt legördülő menüben. Ha új lapon szeretné megnyitni a fürtöt, kattintson a külső hivatkozás ikonra a fürt neve és leírása jobb oldalán.

    A fürtök feladatok futtatására való kiválasztásával és konfigurálásával kapcsolatos további információkért lásd: Fürtkonfigurációs tippek.

  6. A feladat paramétereit átadhatja. Minden feladattípus különböző formázási és paraméter-átadási követelményekkel rendelkezik.

    • Jegyzetfüzet: Kattintson a Hozzáadás gombra, és adja meg az egyes paraméterek kulcsát és értékét a feladatnak való továbbításhoz. A feladat manuális futtatásakor felülbírálhatja vagy hozzáadhat további paramétereket a Feladat futtatása különböző paraméterekkel lehetőséggel . A paraméterek a paraméter kulcsával megadott notebook widget értékét állítják be. A tevékenységparaméter változóinak használatával egy paraméterérték részeként korlátozott számú dinamikus értéket adhat át.
    • JAR: A paraméterek megadásához használjon JSON-formátumú sztringtömböt. Ezek a sztringek argumentumként lesznek átadva a főosztály fő metódusának. Lásd: JAR-feladatparaméterek konfigurálása.
    • Spark Submit feladat: A paraméterek JSON-formátumú sztringek tömbjeként vannak megadva. Az Apache Spark spark-submit konvenciónak megfelelően a JAR-elérési út utáni paraméterek a főosztály fő metódusának lesznek átadva.
    • Python-szkript: A paraméterek megadásához használjon JSON-formátumú sztringtömböt. Ezek a sztringek argumentumokként lesznek átadva, amelyek a Python argparse moduljának használatával elemezhetők.
    • Python Wheel: A Paraméterek legördülő menüben válassza a Pozícióargumentumok lehetőséget a paraméterek JSON-formátumú sztringként való megadásához, vagy válassza a Kulcsszóargumentumok > Hozzáadása lehetőséget az egyes paraméterek kulcsának és értékének megadásához. A helymeghatározási és a kulcsszóargumentumokat a rendszer parancssori argumentumként továbbítja a Python-kerék tevékenységnek.
  7. Ha további beállításokat szeretne elérni, például a függő kódtárakat, az újrapróbálkozési szabályzatot és az időtúllépéseket, kattintson a Speciális beállítások elemre. Lásd: Tevékenység szerkesztése.

  8. Kattintson a Létrehozás lehetőségre.

  9. A feladat ütemezésének beállításához kattintson az Ütemezés szerkesztése elemre a Feladat részletei panelen. Lásd: Feladat ütemezése.

  10. Ha több egyidejű futtatás engedélyezését szeretné engedélyezni ugyanahhoz a feladathoz, kattintson az Egyidejű futtatások szerkesztése elemre a Feladat részletei panelen. Lásd: Egyidejű futtatások maximális száma.

  11. Ha értesítéseket szeretne kapni a feladateseményekről, kattintson az E-mail-értesítések szerkesztése vagy a Rendszerértesítések szerkesztése elemre a Feladat részletei panelen. Lásd: Értesítések.

  12. A feladat engedélyszintjeinek szabályozásához kattintson az Engedélyek szerkesztése elemre a Feladat részletei panelen. Lásd: A feladatokhoz való hozzáférés szabályozása.

Másik tevékenység hozzáadásához kattintson a Tevékenység hozzáadása gombra az imént létrehozott tevékenység alatt. Megosztott fürtbeállítás akkor érhető el, ha egy új feladatfürtöt konfigurált egy korábbi tevékenységhez. A tevékenységek létrehozásakor vagy szerkesztésekor is konfigurálhat fürtöt az egyes tevékenységekhez. A fürtök feladatok futtatására való kiválasztásával és konfigurálásával kapcsolatos további információkért lásd: Fürtkonfigurációs tippek.

Feladat futtatása

  1. Az oldalsávon kattintson a Feladatok ikonmunkafolyamatok elemre.
  2. Válasszon ki egy feladatot, és kattintson a Futtatások fülre. A feladatokat azonnal futtathatja, vagy ütemezheti a feladat későbbi futtatását.

Ha egy több tevékenységgel rendelkező feladat egy vagy több feladata nem sikerül, újra futtathatja a sikertelen tevékenységek részhalmazát. Lásd: Sikertelen feladatfuttatás javítása.

Feladat azonnali futtatása

A feladat azonnali futtatásához kattintson a Futtatás most gombra.

Tipp

Egy jegyzetfüzet-feladattal rendelkező feladat tesztfuttatását a Futtatás most gombra kattintva végezheti el. Ha módosítania kell a jegyzetfüzetet, a jegyzetfüzet szerkesztése után ismét a Futtatás most gombra kattintva automatikusan lefuttathatja a jegyzetfüzet új verzióját.

Feladat futtatása különböző paraméterekkel

A Futtatás most más paraméterekkel lehetőséggel újra futtathat különböző paraméterekkel vagy a meglévő paraméterek eltérő értékeivel rendelkező feladatokat.

  1. Kattintson a Blue Down Caret elemre a Futtatás most elem mellett, és válassza a Futtatás most különböző paraméterekkel lehetőséget, vagy az Aktív futtatások táblázatban kattintson a Futtatás most más paraméterekkel elemre. Adja meg az új paramétereket a tevékenység típusától függően.
    • Jegyzetfüzet: A paramétereket kulcs-érték párként vagy JSON-objektumként is megadhatja. A megadott paraméterek egyesülnek az aktivált futtatás alapértelmezett paramétereivel. Ezzel a párbeszédpanelel beállíthatja a widgetek értékeit.
    • JAR és spark-submit: Megadhatja a paraméterek listáját vagy egy JSON-dokumentumot. Kulcsok törlésekor a rendszer az alapértelmezett paramétereket használja. A futtatáshoz feladatparaméter-változókat is hozzáadhat.
  2. Kattintson a Futtatás elemre.

Sikertelen feladatfuttatás javítása

A sikertelen vagy megszakított többfeladatos feladatok kijavíthatók úgy, hogy csak a sikertelen tevékenységek és a függő tevékenységek részhalmazát futtatják. Mivel a sikeres tevékenységek és az ezektől függő tevékenységek nem futnak újra, ez a funkció csökkenti a sikertelen feladatfuttatások utáni helyreállításhoz szükséges időt és erőforrásokat.

A feladat vagy a feladat beállításai a feladat futtatása előtt módosíthatók. A sikertelen tevékenységek újrafutnak az aktuális feladat- és tevékenységbeállításokkal. Ha például jegyzetfüzetre vagy fürtbeállításra módosítja az elérési utat, a rendszer újra futtatja a feladatot a frissített jegyzetfüzet- vagy fürtbeállításokkal.

Az összes tevékenységfuttatás előzményeit a Feladatfuttatás részletei lapon tekintheti meg.

Megjegyzés

  • Ha egy vagy több feladat osztozik egy feladatfürtön, a javítási futtatás új feladatfürtöt hoz létre; Ha például az eredeti futtatás a feladatfürtöt my_job_clusterhasználta, az első javítási futtatás az új feladatfürtöt my_job_cluster_v1használja, így könnyen megtekintheti a kezdeti futtatás és a javítási futtatás által használt fürt- és fürtbeállításokat. A beállítások my_job_cluster_v1 megegyeznek a jelenlegi beállításokkal my_job_cluster.
  • A javítás csak két vagy több feladatot vezénylő feladatok esetén támogatott.
  • A Futtatások lapon megjelenő Időtartam érték tartalmazza az első futtatás indításának időpontját a legutóbbi javítási futtatás befejezéséig. Ha például egy futtatás kétszer meghiúsult, és a harmadik futtatáson sikerült, az időtartam mindhárom futtatás időtartamát tartalmazza.

Sikertelen feladatfuttatás kijavításához:

  1. Az oldalsávon kattintson a Feladatokikonfeladatok elemre.
  2. A Név oszlopban kattintson egy feladat nevére. A Futtatások lapon aktív és befejezett futtatások láthatók, beleértve a sikertelen futtatásokat is.
  3. Kattintson a sikertelen futtatás hivatkozására a Befejezett futtatások (elmúlt 60 nap) tábla Kezdési időpont oszlopában. Megjelenik a Feladatfuttatás részletei lap.
  4. Kattintson a Futtatás javítása elemre. Megjelenik a Javítási feladat futtatása párbeszédpanel, amely felsorolja az összes sikertelen tevékenységet és az újrafutni kívánt függő tevékenységeket.
  5. A javítandó feladatok paramétereinek hozzáadásához vagy szerkesztéséhez írja be a paramétereket a Javítási feladat futtatása párbeszédpanelen. A Javítási feladat futtatása párbeszédpanelen megadott paraméterek felülbírálják a meglévő értékeket. Az ezt követő javítási futtatások során egy paramétert az eredeti értékhez adhat vissza a kulcs és az érték törlésével a Javítási feladat futtatása párbeszédpanelen.
  6. Kattintson a Javítás futtatása elemre a Javítási feladat futtatása párbeszédpanelen.

Feladatfuttatási előzmények megtekintése

Egy feladat futtatási előzményeinek megtekintése, beleértve a sikeres és sikertelen futtatásokat is:

  1. Kattintson egy feladatra a Feladatfuttatás részletei lapon. Megjelenik a Feladatfuttatás részletei lap.
  2. Válassza ki a feladatfuttatást a Futtatási előzmények legördülő menüben.

Feladat ütemezése

A feladat ütemezésének meghatározása:

  1. Kattintson az Ütemezés szerkesztése elemre a Feladat részletei panelen, és állítsa az Ütemezés típusaElemet Ütemezett értékre.

  2. Adja meg az időszakot, a kezdési időpontot és az időzónát. Ha szeretné, jelölje be a Cron szintaxis megjelenítése jelölőnégyzetet az ütemezés quartz cron szintaxisban való megjelenítéséhez és szerkesztéséhez.

    Megjegyzés

    • Az Azure Databricks legalább 10 másodperces időközt kényszerít ki a feladat ütemezése által aktivált későbbi futtatások között, függetlenül a cron kifejezés másodperces konfigurációitól.
    • Választhat olyan időzónát, amely a nyári időszámítást vagy az UTC-t figyeli meg. Ha olyan zónát választ, amely megfigyeli a nyári időszámítást, a rendszer kihagy egy óránkénti feladatot, vagy úgy tűnik, hogy a nyári időszámítás kezdetekor vagy végekor egy-két órán keresztül nem aktiválódik. Ha óránként (abszolút időpontban) szeretne futni, válassza az UTC lehetőséget.
    • A feladatütemező nem kis késésű feladatokhoz készült. Hálózati vagy felhőbeli problémák miatt a feladatfuttatások esetenként akár néhány percet is késleltethetnek. Ilyen esetekben az ütemezett feladatok azonnal futnak a szolgáltatás rendelkezésre állása után.
  3. Kattintson a Mentés gombra.

A jegyzetfüzet-feladatokat közvetlenül a jegyzetfüzet felhasználói felületén is ütemezheti.

Feladatütemezés szüneteltetése és folytatása

Egy feladat szüneteltetéséhez a következő lehetőségek közül választhat:

  • A Feladat részletei panelen kattintson a Szüneteltetés gombra.
  • Kattintson az Ütemezés szerkesztése elemre a Feladat részletei panelen, és állítsa az Ütemezés típusátManuális (Szüneteltetve) értékre.

Szüneteltetett feladatütemezés folytatásához állítsa az Ütemezés típusaElemet Ütemezett értékre.

Feladatok megtekintése

Az oldalsávon kattintson a Feladatok ikonmunkafolyamatok elemre. Megjelenik a Feladatok lista. A Feladatok lap felsorolja az összes definiált feladatot, a fürtdefiníciót, az ütemezést(ha van) és az utolsó futtatás eredményét.

Megjegyzés

Ha a munkaterületen engedélyezve van a megnövekedett feladatok korlátja , csak 25 feladat jelenik meg a Feladatok listában a lapbetöltési idő javítása érdekében. A bal és a jobb oldali nyilakkal végiglaposhatja a feladatok teljes listáját.

A feladatokat a Feladatok listában szűrheti:

  • Kulcsszavak használata. Ha a munkaterületen engedélyezve van a megnövekedett feladatok korlátja funkció, a kulcsszavak szerinti keresés csak a név, a feladatazonosító és a feladatcímke mezők esetében támogatott.
  • Csak a saját feladatainak kiválasztása.
  • Válassza ki az összes olyan feladatot, amelyhez hozzáférése van. A szűrőhöz való hozzáféréshez engedélyezni kell a feladatok hozzáférés-vezérlését .
  • Címkék használata. Ha csak egy kulccsal létrehozott címkét szeretne keresni, írja be a kulcsot a keresőmezőbe. Egy kulccsal és értékkel létrehozott címke kereséséhez a kulcs, az érték vagy a kulcs és az érték alapján is kereshet. Például egy kulccsal department és értékkel financerendelkező címke esetén megkeresheti department vagy finance megkeresheti az egyező feladatokat. A kulcs és az érték alapján történő kereséshez írja be a kulcsot és az értéket kettősponttal elválasztva; például: department:finance.

Bármelyik oszlopfejlécre kattintva az adott oszlop szerint rendezheti a feladatok listáját (csökkenő vagy növekvő). Ha a megnövekedett feladatok korlátja funkció engedélyezve van, csak a , Job IDvagy Created bya Nameszerint rendezhet. Az alapértelmezett rendezés növekvő sorrendben történik Name .

Feladatok futtatási futtatásainak megtekintése

  1. Az oldalsávon kattintson a Feladatok ikonmunkafolyamatok elemre.
  2. A Név oszlopban kattintson egy feladat nevére. A Futtatások lap aktív futtatások és befejezett futtatások táblázatával jelenik meg.

A feladat táblafuttatása

A feladatfuttatás részleteinek megtekintéséhez kattintson a futtatás hivatkozására a Befejezett futtatások (elmúlt 60 nap) tábla Kezdési időpont oszlopában. A feladat legutóbbi sikeres futtatásának részleteinek megtekintéséhez kattintson a Legutóbbi sikeres futtatás (automatikus frissítés) elemre.

Mátrix nézetre váltáshoz kattintson a Mátrix gombra. A mátrix nézet a feladat futtatási előzményeit jeleníti meg, beleértve az egyes feladatokat is.

A mátrix Feladatfuttatások sora megjeleníti a futtatás teljes időtartamát és a futtatás állapotát. A futtatás részleteinek megtekintéséhez, beleértve a kezdési időpontot, az időtartamot és az állapotot, vigye az egérmutatót a Feladatfuttatások sor sávjára.

A Feladatok sor minden celláját a tevékenység és a tevékenység megfelelő állapota jelöli. Ha meg szeretné tekinteni az egyes tevékenységek részleteit, beleértve a kezdési időpontot, az időtartamot, a fürtöt és az állapotot, vigye az egérmutatót az adott tevékenység cellájára.

A feladatfuttatás és a feladatfuttatási sávok színkóddal vannak elosztva a futtatás állapotának jelzésére. A sikeres futtatások zöldek, a sikertelen futtatások pirosak, a kihagyott futtatások pedig rózsaszínek. Az egyes feladatfuttatások és feladatfuttatási sávok magassága vizuálisan jelzi a futtatás időtartamát.

Feladatfuttatási mátrix

Az Azure Databricks legfeljebb 60 napig őrzi meg a feladatfuttatások előzményeit. Ha meg kell őriznie a feladatfuttatásokat, a Databricks azt javasolja, hogy a lejárat előtt exportálja az eredményeket. További információ: Feladatfuttatási eredmények exportálása.

Feladatfuttatás részleteinek megtekintése

A feladatfuttatás részleteinek lapja a feladat kimenetét és a naplókra mutató hivatkozásokat tartalmazza, beleértve a feladatfuttatás egyes feladatainak sikerességéről vagy sikertelenségéről szóló információkat. A feladat futtatási adatait a feladat Futtatások lapján érheti el. A feladatok futtatási részleteinek megtekintéséhez a Futtatások lapon kattintson a futtatás hivatkozására a Befejezett futtatások (elmúlt 60 nap) tábla Kezdési időpont oszlopában. Ha vissza szeretne térni a feladat Futtatások lapjára, kattintson a Feladatazonosító értékre.

Kattintson egy tevékenységre a tevékenységfuttatás részleteinek megtekintéséhez, beleértve a következőket:

  • a feladatot futtató fürt
    • a tevékenység Spark felhasználói felülete
    • naplók a tevékenységhez
    • a tevékenység metrikái

Kattintson a Feladatazonosító értékre a feladat Futtatások lapjára való visszatéréshez. A feladat futtatási azonosítójának értékére kattintva visszatérhet a feladatfuttatás részleteihez.

Legutóbbi feladatfuttatások megtekintése

Megtekintheti a jelenleg futó és a közelmúltban befejezett futtatások listáját egy olyan munkaterület összes feladatához, amelyhez hozzáféréssel rendelkezik, beleértve a külső vezénylési eszközök, például az Apache Airflow vagy Azure Data Factory által indított futtatásokat is. A legutóbbi feladatfuttatások listájának megtekintése:

  1. Az oldalsávon kattintson a Feladatok ikonmunkafolyamatok elemre. Megjelenik a Feladatok lista.
  2. Kattintson a Feladatfuttatások fülre. Megjelenik a Feladatfuttatások lista.

A Feladatfuttatások lista a következőt jeleníti meg:

  • A futtatás kezdési időpontja.
  • A futtatáshoz társított feladat neve.
  • A feladat által futtatott felhasználónév.
  • Azt, hogy a futtatás egy feladatütemezés vagy EGY API-kérés által lett-e aktiválva, vagy manuálisan indult el.
  • Egy jelenleg futó feladatnál eltelt idő vagy egy befejezett futtatás teljes futási ideje.
  • A futtatás állapota, vagy , , , , Succeeded, FailedTerminating, Terminated, , Internal ErrorTimed Out, , CanceledCancelingvagy .Waiting for RetrySkippedRunningPending

A feladatfuttatás részleteinek megtekintéséhez kattintson a futtatás Kezdési időpontja oszlopában található hivatkozásra. A feladat részleteinek megtekintéséhez kattintson a feladat nevére a Feladat oszlopban.

Feladatfuttatási eredmények exportálása

Exportálhatja a jegyzetfüzet-futtatási eredményeket és a feladatfuttatási naplókat az összes feladattípushoz.

Jegyzetfüzet-futtatási eredmények exportálása

A feladatfuttatásokat az eredmények exportálásával őrizheti meg. A jegyzetfüzet-feladatok futtatásakor exportálhat egy renderelt jegyzetfüzetet, amely később importálható az Azure Databricks-munkaterületre.

Egyetlen feladattal rendelkező feladat jegyzetfüzet-futtatási eredményeinek exportálása:

  1. A feladat részletei lapon kattintson a Futtatás részleteinek megtekintése hivatkozásra a Befejezett futtatások (elmúlt 60 nap) tábla Futtatás oszlopában.
  2. Kattintson az Exportálás HTML-be gombra.

Jegyzetfüzet-futtatási eredmények exportálása több feladattal rendelkező feladathoz:

  1. A feladat részletei lapon kattintson a Futtatás részleteinek megtekintése hivatkozásra a Befejezett futtatások (elmúlt 60 nap) tábla Futtatás oszlopában.
  2. Kattintson az exportálni kívánt jegyzetfüzet-feladatra.
  3. Kattintson az Exportálás HTML-be gombra.

Feladatfuttatási naplók exportálása

Exportálhatja a feladatfuttatás naplóit is. Beállíthatja, hogy a feladat automatikusan kézbesítse a naplókat a DBFS-nek a Feladat API-val. Tekintse meg az objektumot a new_cluster.cluster_log_conf Kérelem törzsében, amely az Új feladat létrehozása műveletnek (POST /jobs/create) lett átadva a Jobs API-ban.

Feladat szerkesztése

A feladatban egyes konfigurációs beállítások, az egyes feladatokhoz pedig más lehetőségek érhetők el. Az egyidejű futtatások maximális száma például csak a feladaton állítható be, míg a paramétereket minden tevékenységhez meg kell határozni.

Feladat konfigurációjának módosítása:

  1. Az oldalsávon kattintson a Feladatok ikonmunkafolyamatok elemre.
  2. A Név oszlopban kattintson a feladat nevére.

Az oldalsó panelen a Feladat részletei láthatók. Módosíthatja az ütemezést, a fürt konfigurációját, az értesítéseket, az egyidejű futtatások maximális számát, valamint címkéket adhat hozzá vagy módosíthat. Ha a feladathozzáférés-vezérlés engedélyezve van, a feladatengedélyeket is szerkesztheti.

Címkék

Ha címkéket vagy key:value attribútumokat szeretne hozzáadni a feladathoz, címkéket adhat hozzá a feladat szerkesztésekor. Címkék használatával szűrheti a feladatokat a Feladatok listában; Például egy címkével department szűrheti az adott részleghez tartozó összes feladatot.

Megjegyzés

Mivel a feladatcímkék nem bizalmas információk, például személyazonosításra alkalmas adatok vagy jelszavak tárolására szolgálnak, a Databricks azt javasolja, hogy csak a nem bizalmas értékekhez használjon címkéket.

A címkék a feladat futtatásakor létrehozott feladatfürtökre is propagálásra kerülnek, így címkéket használhat a meglévő fürtfigyeléssel.

Címkék hozzáadásához vagy szerkesztéséhez kattintson a + Címke elemre a Feladat részletei oldalpanelen. A címkét kulcsként és értékként, illetve címkeként is hozzáadhatja. Címke hozzáadásához írja be a címkét a Kulcs mezőbe, és hagyja üresen az Érték mezőt.

Fürtök

A fürthöz társított feladatok megtekintéséhez vigye az egérmutatót a fürt fölé az oldalsó panelen. Az összes társított feladat fürtkonfigurációjának módosításához kattintson a fürt alatti Konfigurálás elemre. Ha új fürtöt szeretne konfigurálni az összes társított tevékenységhez, kattintson a Fürt alatti Felcserélés elemre.

Egyidejű futtatások maximális száma

A feladathoz tartozó párhuzamos futtatások maximális száma. Az Azure Databricks kihagyja a futtatást, ha a feladat már elérte az aktív futtatások maximális számát egy új futtatás indításakor. Állítsa ezt az értéket az alapértelmezett értéknél magasabbra az 1 értéknél, hogy egyszerre több futtatási műveletet is végrehajtson ugyanahhoz a feladathoz. Ez például akkor hasznos, ha a feladatot gyakran ütemezve indítja el, és engedélyezni szeretné az egymást követő futtatások átfedését egymással, vagy több, a bemeneti paraméterektől eltérő futást szeretne aktiválni.

Értesítések

Ha értesítést szeretne kapni a feladat futásának megkezdéséről, befejezéséről vagy sikertelenségéről, hozzáadhat egy vagy több e-mail-címet vagy rendszercélt (például webhook-célhelyeket vagy Slacket).

Megjegyzés

  • A feladatszinten beállított értesítéseket a rendszer nem küldi el, ha a sikertelen tevékenységek újrapróbálkoznak. Ha hibaértesítést szeretne kapni minden sikertelen tevékenység után (beleértve az összes sikertelen újrapróbálkozást is), használja inkább a feladatértesítéseket .
  • A rendszercélok nyilvános előzetes verzióban érhetők el.
  • A rendszercélokat egy rendszergazdának kell konfigurálnia. A rendszercélok konfigurálásához válassza az Új cél létrehozása lehetőséget a Rendszerértesítések szerkesztése párbeszédpanelen vagy a felügyeleti konzolon.

E-mail-értesítések hozzáadása:

  1. Kattintson az E-mail-értesítések szerkesztése elemre.
  2. Kattintson a Hozzáadás parancsra.
  3. Adjon meg egy e-mail-címet, és kattintson az egyes értesítéstípusok jelölőnégyzetére az adott címre való küldéshez.
  4. Ha egy másik e-mail-címet szeretne megadni az értesítéshez, kattintson a Hozzáadás gombra.
  5. Ha nem szeretne értesítéseket kapni a kihagyott feladatok futtatásáról, kattintson a jelölőnégyzetre.
  6. Kattintson a Megerősítés gombra.

Integrálja ezeket az e-mail-értesítéseket a kedvenc értesítési eszközeivel, beleértve a következőket:

Rendszerértesítések hozzáadása:

Megjegyzés

Az egyes értesítési típusokhoz három rendszercél van korlátozva.

  1. Kattintson a Rendszerértesítések szerkesztése elemre.
  2. A Rendszer célhelyének kiválasztása területen jelöljön ki egy célhelyet, és kattintson az egyes értesítéstípusok jelölőnégyzetére az adott célhelyre való küldéshez.
  3. Másik célhely hozzáadásához kattintson ismét a Rendszercél kiválasztása elemre, és válasszon ki egy célhelyet.
  4. Kattintson a Megerősítés gombra.

Feladatokhoz való hozzáférés szabályozása

A feladathozzáférés-vezérlés lehetővé teszi, hogy a feladattulajdonosok és a rendszergazdák részletes engedélyeket adjanak a munkájukhoz. A feladattulajdonosok kiválaszthatják, hogy mely felhasználók vagy csoportok tekinthetik meg a feladat eredményeit. A tulajdonosok azt is kiválaszthatják, hogy ki felügyelheti a feladatfuttatásokat (Futtatás most és Futtatási engedélyek megszakítása).

Részletekért lásd: Feladatok hozzáférés-vezérlése .

Tevékenység szerkesztése

Feladatkonfigurációs beállítások megadása:

  1. Az oldalsávon kattintson a Feladatok ikonmunkafolyamatok elemre.
  2. A Név oszlopban kattintson a feladat nevére.
  3. Kattintson a Feladatok fülre.

Tevékenységfüggőségek

A feladatok végrehajtásának sorrendjét a Függőségek legördülő menüben határozhatja meg. Ezt a mezőt beállíthatja egy vagy több tevékenységre a feladatban.

Tevékenységfüggőségek szerkesztése

Megjegyzés

Attól függ , hogy nem látható-e, ha a feladat csak egyetlen tevékenységből áll.

A tevékenységfüggőségek konfigurálása létrehoz egy irányított aciklikus gráfot (DAG) a feladat-végrehajtásról, amely a végrehajtási sorrend feladatütemezőkben való ábrázolásának gyakori módja. Vegyük például a következő feladatot, amely négy tevékenységből áll:

Tevékenységfüggőségek példadiagramja

  • Az 1. tevékenység a fő tevékenység, és nem függ semmilyen más tevékenységtől.
  • A 2. és a 3. feladat attól függ, hogy az 1. feladat befejeződik-e először.
  • Végül a 4. feladat a 2. és a 3. feladat sikeres befejezésétől függ.

Az Azure Databricks az alsóbb rétegbeli tevékenységek futtatása előtt futtatja a felsőbb rétegbeli feladatokat, és a lehető legtöbb feladatot párhuzamosan futtatja. Az alábbi ábra az alábbi feladatok feldolgozási sorrendjét szemlélteti:

Példa tevékenységfüggőségek folyamatára

Egyéni feladatkonfigurációs beállítások

Az egyes feladatok a következő konfigurációs beállításokkal rendelkeznek:

Ebben a szakaszban:

Fürt

Ha azt a fürtöt szeretné konfigurálni, ahol egy feladat fut, kattintson a Fürt legördülő menüre. Szerkesztheti a megosztott feladatfürtöt, de nem törölheti a megosztott fürtöt, ha azt más feladatok is használják.

A fürtök feladatok futtatására való kiválasztásával és konfigurálásával kapcsolatos további információkért lásd: Fürtkonfigurációs tippek.

Függő kódtárak

A függő kódtárak a feladat futása előtt települnek a fürtre. A feladat összes függőségét be kell állítania annak biztosításához, hogy a futtatás megkezdése előtt települnek.

Függő kódtár hozzáadásához kattintson a Speciális beállítások lehetőségre, majd válassza a Függő kódtárak hozzáadása elemet a Függő kódtár hozzáadása választó megnyitásához. Kövesse a Kódtárfüggőségekről szóló cikk javaslatait a függőségek megadásához.

Feladatértesítések

Ha e-mail-értesítéseket szeretne hozzáadni a feladat sikerességéhez vagy sikertelenségéhez, kattintson a Speciális beállítások elemre, és válassza az Értesítések szerkesztése lehetőséget. A rendszer a kezdeti feladathibáról és az azt követő újrapróbálkozésekről küldi el a hibaértesítéseket.

Tevékenységparaméter változói

A sablonozott változókat a tevékenység paramétereinek részeként is átadhatja egy feladattevékenységnek. Ezeket a változókat a feladat feladatának futtatásakor a megfelelő értékek váltják fel. A feladatparaméter-értékekkel átadhatja a feladatfuttatás környezetét, például a futtatási azonosítót vagy a feladat kezdési időpontját.

Egy feladat futtatásakor a kettős kapcsos zárójelekkel körülvett tevékenységparaméter-változót lecseréli a program, és hozzáfűzi egy opcionális sztringértékhez, amely az érték részeként szerepel. Ha például egy 6. feladatazonosítójú futtatáshoz egy nevű MyJobIdmy-job-6 paramétert szeretne átadni, adja hozzá a következő tevékenységparamétert:

{
  "MyJobID": "my-job-{{job_id}}"
}

A dupla kapcsos zárójelek tartalma nem lesz kifejezésként kiértékelve, így nem hajthat végre műveleteket vagy függvényeket a dupla kapcsos zárójelekben. A térköz nincs a kapcsos zárójelek között, ezért {{ job_id }} nem lesz kiértékelve.

A következő feladatparaméter-változók támogatottak:

Változó Leírás Példaérték
{{job_id}} A feladathoz rendelt egyedi azonosító 1276862
{{run_id}} A tevékenységfuttatáshoz rendelt egyedi azonosító 3447843
{{start_date}} A tevékenység futtatásának kezdő dátuma. A formátum yyyy-MM-dd utc időzónában. 2021-02-15
{{start_time}} A fürt létrehozása és előkészítése után a futtatás végrehajtási kezdésének időbélyege. A formátum ezredmásodperc, mivel a UNIX időzónája UTC időzónában van, ahogy azt a függvény visszaadta System.currentTimeMillis(). 1551622063030
{{task_retry_count}} Azoknak az újrapróbálkozási kísérleteknek a száma, amelyeket az első kísérlet sikertelensége esetén kíséreltek meg futtatni. Az első kísérlet értéke 0, az egyes újrapróbálkozásoknál pedig növekmények. 0
{{parent_run_id}} Egy több tevékenységet tartalmazó feladat futtatásához rendelt egyedi azonosító. 3447835
{{task_key}} A több tevékenységgel rendelkező feladat részét képező tevékenységhez rendelt egyedi név. "clean_raw_data"

Ezeket a változókat bármely tevékenységhez beállíthatja, ha feladatokat hoz létre, szerkeszt egy feladatot, vagy különböző paraméterekkel futtat egy feladatot.

A feladat tevékenységei között feladatértékekkel rendelkező paramétereket is átadhat. Lásd: Információk megosztása tevékenységek között egy Azure Databricks-feladatban.

Időtúllépés

Egy feladat maximális befejezési ideje. Ha a feladat jelenleg nem fejeződik be, az Azure Databricks az "Időtúllépés" állapotot állítja be.

Újrapróbálkozások

Egy szabályzat, amely meghatározza, hogy a rendszer mikor és hányszor próbálkozzon újra a sikertelen futtatásokkal. A feladat újrapróbálkozásainak beállításához kattintson a Speciális beállítások elemre, és válassza az Újrapróbálkozési szabályzat szerkesztése lehetőséget. Az újrapróbálkozási időköz kiszámítása ezredmásodpercben történik a sikertelen futtatás kezdete és az azt követő újrapróbálkozási futtatás között.

Megjegyzés

Ha az Időtúllépés és az Újrapróbálkozások beállítást is konfigurálja, az időtúllépés minden újrapróbálkozásra érvényes.

Feladat klónozása

Egy meglévő feladat klónozásával gyorsan létrehozhat új feladatot. A feladat klónozása a feladat azonos másolatát hozza létre, kivéve a feladat azonosítóját. A feladat oldalán kattintson az Egyebek ... elemre a feladat neve mellett, és válassza a Klónozás lehetőséget a legördülő menüben.

Feladat klónozása

Egy meglévő tevékenység klónozásával gyorsan létrehozhat egy új feladatot:

  1. A feladat oldalán kattintson a Feladatok fülre.
  2. Válassza ki a klónozni kívánt feladatot.
  3. Kattintson a Feladatok függőleges három pontra , és válassza a Feladat klónozása lehetőséget.

Feladat törlése

Feladat törléséhez a feladat oldalán kattintson a feladat neve melletti Egyebek ... elemre, és válassza a Törlés lehetőséget a legördülő menüből.

Tevékenység törlése

Feladat törlése:

  1. Kattintson a Feladatok fülre.
  2. Jelölje ki a törölni kívánt feladatot.
  3. Kattintson a Feladatok függőleges három pontra , és válassza a Feladat eltávolítása lehetőséget.

Tevékenységútvonal másolása

Az elérési út másolása egy tevékenységre, például egy jegyzetfüzet elérési útjára:

  1. Kattintson a Feladatok fülre.
  2. Jelölje ki a másolandó elérési utat tartalmazó feladatot.
  3. Kattintson a Feladatok másolása ikonra a feladat elérési útja mellett az elérési út vágólapra másolásához.

Ajánlott eljárások

Ebben a szakaszban:

Fürtkonfigurációs tippek

A fürtkonfiguráció fontos feladat üzembe helyezésekor. Az alábbiakban általános útmutatást talál a feladatfürtök kiválasztásához és konfigurálásához, majd konkrét feladattípusokra vonatkozó javaslatokat.

Megosztott feladatfürtök használata

Ha több feladatot vezényelő feladatokkal szeretné optimalizálni az erőforrás-használatot, használjon megosztott feladatfürtöket. A megosztott feladatfürtök lehetővé teszik, hogy ugyanabban a feladatban több tevékenység fusson a fürt újbóli felhasználásához. Egyetlen feladatfürt használatával futtathatja a feladat részét képező összes tevékenységet, vagy több, adott számítási feladatokra optimalizált feladatfürtöt. Megosztott feladatfürt használata:

  1. Feladat létrehozásakor és a fürtkonfiguráció befejezésekor válassza az Új feladatfürtök lehetőséget.
  2. Jelölje ki az új fürtöt, amikor feladatot ad hozzá a feladathoz, vagy hozzon létre egy új feladatfürtöt. Az Új feladatfürtök kiválasztásakor konfigurált fürtök a feladat bármely tevékenységéhez elérhetők.

A megosztott feladatfürtök hatóköre egyetlen feladatfuttatásra terjed ki, és más feladatok vagy ugyanazon feladat futtatásai nem használhatják.

A kódtárak nem deklarálhatók megosztott feladatfürt-konfigurációban. Függő kódtárakat kell hozzáadnia a feladatbeállításokban.

Válassza ki a feladatnak megfelelő fürttípust

  • Az új feladatfürtök dedikált fürtök egy feladat vagy feladat futtatásához. A megosztott feladatfürt akkor jön létre és indul el, amikor a fürtöt használó első tevékenység elindul és leáll, miután a fürt használatával végzett utolsó feladat befejeződött. A fürt nem áll le tétlen állapotban, hanem csak az azt használó összes tevékenység befejezése után fejeződik be. Ha egy megosztott feladatfürt meghibásodik vagy az összes tevékenység befejezése előtt leáll, új fürt jön létre. Az egyetlen tevékenységre hatókörrel rendelkező fürtök akkor jönnek létre és indulnak el, amikor a tevékenység elindul és leáll, amikor a tevékenység befejeződik. Éles környezetben a Databricks új megosztott vagy tevékenységhatókörű fürtök használatát javasolja, hogy minden feladat vagy tevékenység egy teljesen elkülönített környezetben fusson.
  • Amikor egy feladatot egy új fürtön futtat, a tevékenység adatfeldolgozási (tevékenység-) számítási feladatként lesz kezelve, a tevékenység számítási feladatainak díjszabására is figyelemmel. Ha egy feladatot egy meglévő, teljes célú fürtön futtat, a rendszer adatelemzési (teljes célú) számítási feladatként kezeli, a számítási feladatok teljes körű díjszabásának függvényében.
  • Ha egy leállított meglévő fürtöt választ ki, és a feladat tulajdonosa újraindításiengedéllyel rendelkezik, az Azure Databricks elindítja a fürtöt a feladat ütemezése szerint.
  • A meglévő, teljes körű fürtök olyan feladatokhoz működnek a legjobban, mint az irányítópultok rendszeres időközönkénti frissítése.

Készlet használata a fürt kezdési idejének csökkentéséhez

Az új feladatfürt kezdési idejének csökkentéséhez hozzon létre egy készletet , és konfigurálja a feladat fürtjét a készlet használatára.

Jegyzetfüzet-feladatokhoz kapcsolódó tippek

A jegyzetfüzetcellák teljes kimenete (az összes jegyzetfüzetcella összesített kimenete) 20 MB-os méretkorlátnak van kitéve. Emellett az egyes cellák kimenetére 8 MB-os méretkorlát vonatkozik. Ha a teljes cellakimenet meghaladja a 20 MB-ot, vagy ha egy adott cella kimenete nagyobb, mint 8 MB, a futtatás megszakad, és sikertelenként lesz megjelölve.

Ha segítségre van szüksége a korláthoz közeli vagy annál távolabbi cellák kereséséhez, futtassa a jegyzetfüzetet egy teljes körű fürtön, és használja ezt a jegyzetfüzet automatikus mentési technikát.

Streamelési feladatok

A Spark Streaming-feladatoknak soha nem szabad 1-nél nagyobbra állítaniuk az egyidejű futtatások maximális értékét. A streamelési feladatokat úgy kell beállítani, hogy a cron kifejezéssel "* * * * * ?" fussanak (percenként).

Mivel a streamelési tevékenységek folyamatosan futnak, mindig az utolsó feladatnak kell lennie egy feladatban.

JAR-feladatok

A kód JAR-ba való csomagolásáról és a JAR-t használó feladatok létrehozásáról a JAR használata Azure Databricks-feladatban című témakörben olvashat bővebben.

JAR-feladat futtatásakor tartsa szem előtt a következőket:

Kimeneti méretkorlátok

A feladat kimenetére, például az stdout számára kibocsátott naplókimenetre 20 MB-os méretkorlát vonatkozik. Ha a teljes kimenet nagyobb méretű, a futtatás megszakad, és sikertelenként lesz megjelölve.

Ennek a korlátnak a elkerülése érdekében megakadályozhatja, hogy az stdout visszakerüljön az illesztőprogramból az Azure Databricksbe, ha a Spark-konfigurációt értékre spark.databricks.driver.disableScalaOutputtrueállítja. Alapértelmezés szerint a jelölő értéke false. A jelölő a Scala JAR-feladatok és Scala-jegyzetfüzetek cellakimenetét szabályozza. Ha a jelző engedélyezve van, a Spark nem ad vissza feladatvégrehajtási eredményeket az ügyfélnek. A jelző nincs hatással a fürt naplófájljaiba írt adatokra. Ezt a jelzőt csak JAR-feladatok feladatfürtjeinél ajánlott beállítani, mert az letiltja a jegyzetfüzet eredményeit.

A megosztott SparkContext

Mivel az Azure Databricks egy felügyelt szolgáltatás, szükség lehet néhány kódmódosításra annak biztosításához, hogy az Apache Spark-feladatok megfelelően fussanak. A JAR-feladatprogramoknak a megosztott SparkContext API-t kell használniuk a SparkContextlekéréséhez. Mivel az Azure Databricks inicializálja a parancsot, a SparkContextmeghívott new SparkContext() programok sikertelenek lesznek. A lekéréséhez SparkContextcsak az Azure Databricks által létrehozott megosztott SparkContext elemet használja:

val goodSparkContext = SparkContext.getOrCreate()
val goodSparkSession = SparkSession.builder().getOrCreate()

A megosztott SparkContexthasználata során több módszert is el kell kerülnie.

  • Ne hívja meg a parancsot SparkContext.stop().
  • Ne hívja fel System.exit(0)sc.stop() vagy a program végén Main . Ez meghatározatlan viselkedést okozhat.

Blokkok használata try-finally a feladatok törléséhez

Vegyünk egy JAR-t, amely két részből áll:

  • jobBody() amely a feladat fő részét tartalmazza.
  • jobCleanup() amelyet azután kell végrehajtani jobBody() , hogy a függvény sikeres volt-e, vagy kivételt adott vissza.

Példaként jobBody() táblákat hozhat létre, és ezeket jobCleanup() a táblákat elvetheti.

A törlési módszer meghívásának biztonságos módja egy blokk elhelyezése try-finally a kódban:

try {
  jobBody()
} finally {
  jobCleanup()
}

Ne próbálja meg törölni a kódot sys.addShutdownHook(jobCleanup) vagy a következő kódot:

val cleanupThread = new Thread { override def run = jobCleanup() }
Runtime.getRuntime.addShutdownHook(cleanupThread)

A Spark-tárolók azure Databricksben való kezelésének módja miatt a leállítási horogok nem futnak megbízhatóan.

JAR-feladatparaméterek konfigurálása

Paramétereket ad át JAR-feladatoknak egy JSON-sztringtömbbel. Tekintse meg az objektumot a spark_jar_task Kérelem törzsében, amely az Új feladat létrehozása műveletnek (POST /jobs/create) lett átadva a Jobs API-ban. A paraméterek eléréséhez vizsgálja meg a String függvénynek main átadott tömböt.

Könyvtárfüggőségek

A Spark-illesztő bizonyos könyvtárfüggőségekkel rendelkezik, amelyeket nem lehet felülbíráltatni. Ezek a tárak elsőbbséget élveznek a velük ütköző kódtárakkal szemben.

Az illesztőprogram-kódtár függőségeinek teljes listájának lekéréséhez futtassa a következő parancsot egy jegyzetfüzetben, amely ugyanahhoz a Spark-verzióhoz (vagy a vizsgálni kívánt illesztőprogramot tartalmazó fürthöz) van csatolva.

%sh
ls /databricks/jars

Tárfüggőségek kezelése

A kódtár-függőségek feladatokhoz való létrehozásakor jó ökölszabály a Spark és a Hadoop függőségként való provided listázása. A Mavenben adja hozzá a Sparkot és a Hadoopot a megadott függőségekként, az alábbi példában látható módon:

<dependency>
  <groupId>org.apache.spark</groupId>
  <artifactId>spark-core_2.11</artifactId>
  <version>2.3.0</version>
  <scope>provided</scope>
</dependency>
<dependency>
  <groupId>org.apache.hadoop</groupId>
  <artifactId>hadoop-core</artifactId>
  <version>1.2.1</version>
  <scope>provided</scope>
</dependency>

A fájlban sbtadja hozzá a Sparkot és a Hadoopot a megadott függőségekként, az alábbi példában látható módon:

libraryDependencies += "org.apache.spark" %% "spark-core" % "2.3.0" % "provided"
libraryDependencies += "org.apache.hadoop" %% "hadoop-core" % "1.2.1" % "provided"

Tipp

Adja meg a függőségek megfelelő Scala-verzióját a futó verzió alapján.