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:
Betölti a nyers clickstream-adatokat, és feldolgozást végez a rekordok munkamenetesítéséhez.
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.
Kinyeri a funkciókat az előkészített adatokból.
Párhuzamosan hajt végre feladatokat a funkciók megőrzése és a gépi tanulási modell betanítása érdekében.
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
Tegye a következők egyikét:
- Az oldalsávon kattintson a
munkafolyamatai elemre, majd a
.
- Az oldalsávon kattintson az
Új elemre, és válassza a Feladat lehetőséget.
Megjelenik a Feladatok lap a Feladat létrehozása párbeszédpanellel.
- Az oldalsávon kattintson a
Cserélje le a Feladat nevének hozzáadása ... elemet a feladat nevére.
Adja meg a tevékenység nevét a Tevékenység neve mezőben.
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
- Az SQL-feladatnyilvános előzetes verzióban érhető el.
- Az SQL-feladathoz a Databricks SQL és egy kiszolgáló nélküli vagy profi SQL-raktár szükséges.
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 .
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ő
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.
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.
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.
Kattintson a Létrehozás lehetőségre.
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.
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.
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.
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 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
- Az oldalsávon kattintson a
munkafolyamatok elemre.
- 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 .
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.
- Kattintson a
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.
- 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_cluster
használta, az első javítási futtatás az új feladatfürtötmy_job_cluster_v1
haszná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ásokmy_job_cluster_v1
megegyeznek a jelenlegi beállításokkalmy_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:
- Az oldalsávon kattintson a
ikonfeladatok elemre.
- 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.
- 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.
- 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.
- 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.
- 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:
- Kattintson egy feladatra a Feladatfuttatás részletei lapon. Megjelenik a Feladatfuttatás részletei lap.
- 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:
Kattintson az Ütemezés szerkesztése elemre a Feladat részletei panelen, és állítsa az Ütemezés típusaElemet Ütemezett értékre.
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.
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 munkafolyamatok 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ékkelfinance
rendelkező címke esetén megkereshetidepartment
vagyfinance
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 ID
vagy Created by
a Name
szerint rendezhet. Az alapértelmezett rendezés növekvő sorrendben történik Name
.
Feladatok futtatási futtatásainak megtekintése
- Az oldalsávon kattintson a
munkafolyamatok elemre.
- 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 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.
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:
- Az oldalsávon kattintson a
munkafolyamatok elemre. Megjelenik a Feladatok lista.
- 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
,Failed
Terminating
,Terminated
, ,Internal Error
Timed Out
, ,Canceled
Canceling
vagy .Waiting for Retry
Skipped
Running
Pending
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:
- 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.
- Kattintson az Exportálás HTML-be gombra.
Jegyzetfüzet-futtatási eredmények exportálása több feladattal rendelkező feladathoz:
- 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.
- Kattintson az exportálni kívánt jegyzetfüzet-feladatra.
- 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:
- Az oldalsávon kattintson a
munkafolyamatok elemre.
- 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:
- Kattintson az E-mail-értesítések szerkesztése elemre.
- Kattintson a Hozzáadás parancsra.
- 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.
- Ha egy másik e-mail-címet szeretne megadni az értesítéshez, kattintson a Hozzáadás gombra.
- Ha nem szeretne értesítéseket kapni a kihagyott feladatok futtatásáról, kattintson a jelölőnégyzetre.
- 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.
- Kattintson a Rendszerértesítések szerkesztése elemre.
- 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.
- 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.
- 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:
- Az oldalsávon kattintson a
munkafolyamatok elemre.
- A Név oszlopban kattintson a feladat nevére.
- 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.
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:
- 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:
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:
- Csoport
- Függő kódtárak
- Feladatértesítések
- Tevékenységparaméter változói
- Időtúllépés
- Újrapróbálkozások
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ű MyJobId
my-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:
- A feladat oldalán kattintson a Feladatok fülre.
- Válassza ki a klónozni kívánt feladatot.
- Kattintson a
, é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:
- Kattintson a Feladatok fülre.
- Jelölje ki a törölni kívánt feladatot.
- Kattintson a
, é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:
- Kattintson a Feladatok fülre.
- Jelölje ki a másolandó elérési utat tartalmazó feladatot.
- Kattintson a
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
- Jegyzetfüzet-feladatokkal kapcsolatos tippek
- Streamelési feladatok
- JAR-feladatok
- Kódtárfüggőségek
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:
- Feladat létrehozásakor és a fürtkonfiguráció befejezésekor válassza az Új feladatfürtök lehetőséget.
- 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.disableScalaOutput
true
á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 SparkContext
lekéréséhez. Mivel az Azure Databricks inicializálja a parancsot, a SparkContext
meghívott new SparkContext()
programok sikertelenek lesznek. A lekéréséhez SparkContext
csak az Azure Databricks által létrehozott megosztott SparkContext
elemet használja:
val goodSparkContext = SparkContext.getOrCreate()
val goodSparkSession = SparkSession.builder().getOrCreate()
A megosztott SparkContext
haszná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énMain
. 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égrehajtanijobBody()
, 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 sbt
adja 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.