Feladatok

A feladatokkal nem interaktív kódot futtathat egy Azure Databricks fürtben. Például interaktívan vagy ütemezéssel futtathat egy kinyerési, átalakítási és betöltési (ETL) számítási feladatot. A jegyzetfüzet felhasználói felületén interaktívan is futtathat feladatokat.

A feladatok a felhasználói felületen, a CLI-vel és a Jobs API hívásával hozhatók létre és futtathatók. A felhasználói felületen, a CLI-n, az API-n és az e-mailes riasztások segítségével monitorozást kaphat a feladatfuttassanak eredményeiről. Ez a cikk a feladatfeladatok felhasználói felülettel való elvégzésére összpontosít. További módszerek: Jobs CLI és Jobs API 2.1.

A több feladat vezénylése engedélyezhető a Azure Databricks munkaterületen. Ha a tevékenységvezénylés engedélyezve van, a feladatok egy vagy több tevékenységből állhatnak, és a Azure Databricks kezeli a feladat vezénylése, fürtkezelése, figyelése és hibajelentései kezelését. Ha a munkaterületen nincs engedélyezve a tevékenység-vezénylés, a feladat egyetlen tevékenységből áll. A Databricks a feladatvezénylés engedélyezését javasolja az adatok és a gépi tanulási munkafolyamatok létrehozásának, felügyeletének és monitorozásának egyszerűsítése érdekében. Lásd: A feladat-vezénylés engedélyezésével kapcsolatos információkra vonatkozó követelmények.

A feladatokat implementálhatja egy Azure Databricks notebookban, Delta Live Tables-folyamatban vagy egy Scala, Java vagy Python nyelven írt alkalmazásban. Az örökölt Spark-beküldő alkalmazások is támogatottak.

Ha több tevékenység vezénylése engedélyezett, 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 egymás után vagy párhuzamosan is futtathatja. Az alábbi ábra egy olyan munkafolyamatot szemléltet, amely:

  1. Nyers kattintási adatokat végez, és feldolgozást végez a rekordok munkamenetének kezeléséhez.

  2. A rendelési adatokat be- és a munkamenet-munkamenetek kattintásfolyam-adataihoz illesztve létrehoz egy előkészített adatkészletet az elemzéshez.

  3. Kinyeri a jellemzőket az előkészített adatokból.

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

    Példa többfeladatos munkafolyamatra

Több tevékenység vezénylésében az első feladat létrehozásához tekintse meg a feladatok rövid útmutatóját.

Fontos

  • A feladatokat csak Data Science Engineering-munkaterületen vagy egy Machine Learning & hozhatja létre.
  • Egy munkaterület legfeljebb 1000 egyidejű feladatfuttatható. A 429 Too Many Requests válasz akkor lesz visszaadva, ha olyan futtatás kérését kéri, amely nem tud azonnal elindulni.
  • A munkaterület által egy órán belül létrehozható feladatok száma legfeljebb 5000 lehet (beleértve a "futtatás most" és a "futtatás küldés" parancsokat). Ez a korlát a REST API- és jegyzetfüzet-munkafolyamatokkal létrehozott feladatokra is vonatkozik.

Követelmények

Több feladatot vezénylő feladatok létrehozásához a rendszergazdának engedélyeznie kell a támogatást a Databricks felügyeleti konzolján.

Feladat létrehozása

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

    • Az oldalsávonkattintson a Feladatok ikonra Feladatok, majd a Feladat létrehozása gombra.
    • Az oldalsávon kattintson a Létrehozás ikonraLétrehozás, majd válassza a Feladat lehetőséget a menüből.

    Ha több feladat vezénylése engedélyezve van, megjelenik a Feladatok lap a Feladat létrehozása párbeszédpanelen. Ha a feladat-vezénylés nincs engedélyezve, a Feladat lap megjelenik a Feladat létrehozása párbeszédpanelen.

    Feladat létrehozása képernyő

  2. Cserélje le az Add a name for your job... (A feladat nevének hozzáadása... helyére) helyére a feladat nevét.

  3. Ha több tevékenység vezénylése engedélyezve van, adja meg a feladat nevét a Feladat neve mezőben.

  4. Adja meg a futtatni kívánt feladat típusát. A Típus legördülő menüben válassza a Notebook,JAR,Spark Submit,Pythonvagy Pipeline lehetőséget.

    • Notebook:A fájlböngészővel keresse meg a jegyzetfüzetet, kattintson a jegyzetfüzet nevére, majd kattintson a Confirm (Megerősítés) gombra.

    • JAR:Adja meg a Main osztályt. Használja a fő metódust tartalmazó osztály teljes nevét, org.apache.spark.examples.SparkPi például: . Ezután kattintson a Függőkódtárak alatti Hozzáadás elemre a feladat futtatásához szükséges kódtárak hozzáadásához. Ezen kódtárak egyikének 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 kódtár JAR-fájl elérési útját és az összes argumentumot, sztringek JSON-tömbjeként formázva. Az alábbi példa úgy konfigurál egy spark-submit feladatot, hogy az DFSReadWriteTest a parancs futtatását Apache Spark példákból:

      ["--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 feladatokra több korlátozás vonatkozik:

      • Spark-submit feladatokat csak új fürtökön futtathat.
      • A Spark-submit nem támogatja a fürtök automatikus skálázását. További információ az automatikus skálázásról: Fürt automatikus skálázása.
      • A Spark-submit nem támogatja a Databricks segédprogramokat. A Databricks segédprogramjainak használata helyett HASZNÁLJON JAR-feladatokat.
    • Python:Az Elérési út szövegmezőbe írja be egy Python-szkript URI-ját a DBFS-ben vagy a felhőalapú tárolóban; például: .

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

    • Python Wheel:A Package name (Csomag neve) szövegmezőbe írja be az importálni() importálni( ) csomagot, például: . Az Entry Point (Belépési pont) szövegmezőbe írja be a kerek eltolódásakor hívnia kell a függvényt. Kattintson a Függő kódtárak alatti Hozzáadás elemre a feladat futtatásához szükséges kódtárak hozzáadásához.

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

    • Új feladatfürt:Kattintson a Fürt legördülő menü Szerkesztés gombjára, és töltse ki 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üből. A fürt új lapon való megnyitásához kattintson a fürt neve és leírása mellett jobbra található Külső hivatkozás ikonra.

    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 feladathoz paramétereket is átadhat. Mindegyik feladattípus különböző formázási és átadási követelményekkel rendelkezik.

    • Notebook:Kattintson a Hozzáadás gombra, és adja meg a feladatnak átadni kívánt paraméterek kulcsát és értékét. A Feladat futtatása különböző paraméterekkel beállítással felülbírálhat vagy hozzáadhat további paramétereket, ha manuálisan futtat egy feladatot. A paraméterek a paraméter kulcsában megadott jegyzetfüzet-widget értékét állítják be. A tevékenységparaméter-változók használatával a dinamikus értékek egy korlátozott halmazát használhatja egy paraméterérték részeként.
    • JAR:Paraméterek megadásához használjon sztringek JSON-formátumú tömböt. Ezeket a sztringeket a fő osztály fő metódusának argumentumként kell átdedni. Lásd: JAR-feladat paramétereinek konfigurálása.
    • Spark-küldési feladat: A paraméterek sztringek JSON-formátumú tömbjeként vannak megadva. A spark-submit konvenciónak Apache Spark a JAR-útvonal utáni paramétereket a rendszer a fő osztály fő metódusának adja át.
    • Python:Paraméterek megadásához használjon sztringek JSON-formátumú tömböt. Ezek a sztringek argumentumokként vannak átküldve, amelyek a Python argparse modulja segítségével elemezheti őket.
    • Python Wheel: A Paraméterek legördülő menüben válassza az *args (sztringtömb) lehetőséget a paraméterek JSON-formátumú sztringtömbként való beíratása érdekében, vagy válassza a **kwargs (kulcs-érték párok) lehetőséget az egyes paraméterek kulcsának és értékének beíratása érdekében.
  7. További beállítások( függő kódtárak, újrapróbálkozásiszabályzat és időtúllépések) eléréséhez kattintson a Speciális beállítások elemre. Lásd: Feladat szerkesztése.

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

  9. Ha szeretné beállítani a feladat ütemezését, kattintson az Ütemezés szerkesztése elemre a Feladat részletei panelen. Lásd: Feladat ütemezése.

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

  11. Ha e-mail-címeket is meg szeretné adni a feladateseményekkel kapcsolatos riasztások fogadására, kattintson a Feladat részletei panel Riasztások szerkesztése elemére. Lásd: Riasztások.

  12. Ha szeretné szabályozni a feladat engedélyszintjét, kattintson az Engedélyek szerkesztése elemre a Feladat részletei panelen. Lásd: Feladatokhoz való hozzáférés szabályozása.

Ha egy másik feladatot szeretne hozzáadni, amikor engedélyezve van a feladat-vezénylés, kattintson a Feladat hozzáadása gombra az újonnan létrehozott feladat alatt.

Feladat futtatása

  1. Kattintson a Feladatok ikonraFeladatok az oldalsávon.
  2. Válasszon ki egy feladatot, majd kattintson a Futtatás fülre. Azonnal futtathat egy feladatot, vagy ütemezheti a feladatot későbbi futtatásra.

Feladat azonnali futtatása

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

Tipp

Egy jegyzetfüzet-feladattal futtatott feladat tesztfutatát a Futtatás most parancsra kattintva hajthatja végre. Ha módosításokat kell eszközlni a notebookon, a jegyzetfüzet szerkesztése után a Futtatás most gombra kattintva automatikusan a notebook új verzióját fogja futtatni.

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

A Run Now with Different Parameters (Futtatás most különböző paraméterekkel) használatával újrafuttathat egy feladatot különböző paraméterekkel vagy a meglévő paraméterek különböző értékeivel.

  1. Kattintson a Futtatás most melletti Kék lefelé gombra, és válassza a Futtatás most más paraméterekkel lehetőséget, vagy az Aktív futtatás táblázatban kattintson a Futtatás most más paraméterekkel lehetőségre. Adja meg az új paramétereket a feladat típusától függően.
    • Notebook:A paramétereket kulcs-érték párokként vagy JSON-objektumként adhatja meg. Ezen a párbeszédpanelen állíthatja be a widgetek értékeit.
    • JAR és spark-submit:Megadhatja a paraméterek listáját vagy egy JSON-dokumentumot. A megadott paraméterek egyesülnek az aktivált futtatás alapértelmezett paramétereivel. Kulcsok törlése esetén a rendszer az alapértelmezett paramétereket használja. Feladatparaméter-változókat is hozzáadhat a futtatáshoz.
  2. Kattintson a Futtatás elemre.

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ípusa beállításátÜtemezettre.

  2. Adja meg az időszakot, a kezdési időt é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 cronszintaxisban való megjelenítéséhez és szerkesztéséhez.

    Megjegyzés

    • Azure Databricks a feladat ütemezése által aktivált későbbi futtatásokat legalább 10 másodperces intervallumra kényszeríti, függetlenül attól, hogy a cron-kifejezés másodperces konfigurációja milyen.
    • Olyan időzónát választhat, amely a nyári időszámítás szerinti időt vagy az UTC-t határozza meg. Ha olyan zónát választ, amely a nyári időszámítást veszi figyelembe, 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áig nem indul el. Ha óránként (abszolút időpontban) fut, válassza az UTC lehetőséget.
    • A feladatütemező nem kis késleltetésű feladatokhoz való. Hálózati vagy felhőbeli problémák miatt a feladatfutta esetenként akár több percig is késleltetve lehet. Ilyen esetekben az ütemezett feladatok azonnal lefutnak a szolgáltatás rendelkezésre állása után.
  3. Kattintson a Mentés gombra.

Feladat ütemezésének felfüggesztése és folytatása

A feladat szüneteltetése a következő lehet:

  • Kattintson a Szüneteltetés gombra a Feladat részletei panelen.
  • Kattintson az Ütemezés szerkesztése elemre a Feladat részletei panelen, és állítsa az Ütemezés típusa beállításátManuálisra (szüneteltetve)

A szüneteltetett feladat ütemezésének folytatásához állítsa az Ütemezés típusa beállításátÜtemezettre.

Feladatok megtekintése

Kattintson a Feladatok ikonraFeladatok az oldalsávon. Megjelenik a Feladatok lista. A Feladatok lapon látható az összes meghatározott feladat, a fürtdefiníció, az ütemezés, ha van, és az utolsó futtatás eredménye.

A feladatok a Feladatok listában szűrhetők:

  • Kulcsszavak használata.
  • Csak a saját feladatok kiválasztása.
  • Az összes olyan feladat kiválasztása, amelyekhez hozzáféréssel rendelkezik. A szűrő eléréséhez engedélyezni kell a Feladatok hozzáférés-vezérlését.

Bármelyik oszlopfejlécre kattintva rendezheti a feladatok listáját (csökkenő vagy növekvő) az adott oszlop szerint. Az alapértelmezett rendezés a feladat neve szerint növekvő sorrendben.

Feladatfuttatás megtekintése

  1. Kattintson a Feladatok ikonraFeladatok az oldalsávon.
  2. A Név oszlopban kattintson a feladat nevére. A Futtatás lap az aktív és a befejezett futtatásokat jeleníti meg.

Feladat részletei

Azure Databricks legfeljebb 60 napig megőrzi a feladatfut futtatás előzményeit. Ha meg kell őriznie a feladatfutokat, a Databricks azt javasolja, hogy még a lejáratuk előtt exportálja az eredményeket. További információ: Export job run results (Feladatfuttassa eredmények exportálása).

Feladatfut futtatás részleteinek megtekintése

A feladatfut futtatás részletei lap a feladat kimenetét és a naplókra mutató hivatkozásokat tartalmaz. Ha több tevékenység vezénylése engedélyezve van, a Feladatfuttatás részletei lap a feladatfuttatás egyes tevékenységének sikerességére vagy sikertelenségére vonatkozó információkat tartalmaz. A feladat futtatási részleteihez a feladat Futtatás lapján férhet hozzá. A Futtatás lap Futtatás részleteinek megtekintéséhez kattintson a futtatás hivatkozására a Befejezett futtatások (az elmúlt 60 nap) tábla Futtatás oszlopában. A feladat Futtatás lapjára való visszatéréshez kattintson a Feladatazonosító értékre.

Több tevékenységet vezénylő feladat esetén kattintson egy feladatra a tevékenységek futtatásának részleteinek megtekintéséhez, beleértve a következőket:

  • a feladatot futtató fürt
    • a Spark felhasználói felülete a feladathoz
    • a feladat naplói
    • a feladat metrikai

Kattintson a Feladatazonosító értékre, hogy visszatérjen a feladat Futtatás lapjára. Kattintson a Feladatfuttassa azonosító értékére a feladatfuttassa részletekhez való visszatéréshez.

Feladatfuttassa eredmények exportálása

A jegyzetfüzet-futtatás eredményeit és a feladatfuttassa naplókat minden feladattípushoz exportálhatja.

Jegyzetfüzet-futtatás eredményeinek exportálása

A feladatfut futtatásokat az eredmények exportálása után is megőrzheti. Jegyzetfüzet-feladat futtatásakor exportálhat egy renderelt jegyzetfüzetet, amely később importálható a Azure Databricks munkaterületére.

Jegyzetfüzet-futtatás eredményeinek exportálása egyetlen feladattal:

  1. A feladat részletei lapon kattintson a Futtatás részleteinek megtekintése hivatkozásra a Futtatás oszlopban a Befejezett futtatás (az elmúlt 60 napban) táblázatban.
  2. Kattintson az Exportálás HTML-be lehetőségre.

Jegyzetfüzet-futtatás eredményeinek exportálása több tevékenységből áll feladathoz:

  1. A feladat részletei lapon kattintson a Futtatás részleteinek megtekintése hivatkozásra a Futtatás oszlopban a Befejezett futtatás (az elmúlt 60 napban) táblázatban.
  2. Kattintson az exportálni kívánt jegyzetfüzet-feladatra.
  3. Kattintson az Exportálás HTML-be lehetőségre.

Feladatfuttassa naplók exportálása

Exportálhatja a feladat futtatásához használt naplókat is. Beállíthatja, hogy a feladat automatikusan kézbesítsen naplókat a DBFS-nek a feladat API-n keresztül. Tekintse meg az objektumot a Feladat API Új feladat létrehozása műveletének ( ) átadott kérelem new_cluster.cluster_log_confnew_cluster.cluster_log_confPOST /jobs/create törzsében.

Feladat szerkesztése

A feladathoz néhány konfigurációs beállítás, az egyes tevékenységekhez pedig más beállítások érhetők el. Az egyidejű futtatás maximális számát például csak a feladatra lehet beállítani, az egyes tevékenységekhez pedig paramétereket kell meghatározni.

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

  1. Kattintson a Feladatok ikonraFeladatok az oldalsávon.
  2. A Név oszlopban kattintson a feladat nevére.

Az oldalpanelen a Feladat részletei láthatóak. Módosíthatja az ütemezést,a fürtkonfigurációt, a riasztásokat és az egyidejű futtatások maximális számát. A feladatengedélyeket szerkesztheti is, ha a feladat hozzáférés-vezérlése engedélyezve van.

Egyidejű futtatás maximális száma

A párhuzamos futtatások maximális száma ehhez a feladathoz. Azure Databricks a futtatás kihagyása, ha a feladat már elérte az új futtatás megkísérléskor aktív futtatások maximális számát. Állítsa be ezt az értéket az alapértelmezett 1-esnél magasabbra ugyanazon feladat több futtatásának egyidejű végrehajtásához. Ez például akkor hasznos, ha a feladatot gyakran indítja el, és egymást követő futtatásokat szeretne átfedésben hagyni egymással, vagy ha több olyan futtatás is aktiválódik, amely eltér a bemeneti paramétereiktől.

Riasztások

Hozzáadhat egy vagy több e-mail-címet, amelyek értesítik, ha a feladat futtatása megkezdődik, befejeződik vagy meghiúsul:

  1. Kattintson a Riasztások szerkesztése elemre.
  2. Kattintson a Hozzáadás parancsra.
  3. Adja meg az értesítő e-mail-címet, és kattintson az egyes riasztási típusokkal kapcsolatos jelölőnégyzetre 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 riasztásokat kapni a kihagyott feladatfutvánnyal kapcsolatosakról, jelölje be a jelölőnégyzetet.
  6. Kattintson a Megerősítés gombra.

E-mail-riasztások konfigurálása

Integrálja ezeket az e-mail-riasztásokat a kedvenc értesítési eszközeivel, például:

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

A feladat-hozzáférés-vezérlés lehetővé teszi a feladattulajdonosok és a rendszergazdák számára, hogy finomhangolt engedélyeket adjanak a feladatukhoz. A feladat tulajdonosai kiválaszthatja, hogy mely felhasználók vagy csoportok nézik meg a feladat eredményeit. A tulajdonosok azt is kiválaszthatják, hogy ki kezelheti a feladatfuttassakat (Futtatás most és Futtatás engedélyeinek megszakítása).

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

Feladat szerkesztése

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

  1. Kattintson a Feladatok ikonraFeladatok az oldalsávon.
  2. A Név oszlopban kattintson a feladat nevére.
  3. Ha több feladat vezénylése engedélyezve van, kattintson a Feladatok fülre. Ha a feladat vezénylése nincs engedélyezve, kattintson a Feladat fülre.

Tevékenységfüggőségek

Ha több tevékenység vezénylése engedélyezve van, a feladatokban a tevékenységek végrehajtási sorrendjét a Depends on (Függ) 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 a nem látható, ha a feladat csak egyetlen tevékenységből áll.

A tevékenységfüggőségek konfigurálása a tevékenységvégrehajtás irányított aciklikus Graph (DAG) hozza létre, amely a feladatütemezőkben gyakran használt végrehajtási sorrend. Vegyük példaként a következő feladatot, amely négy tevékenységből áll:

Példa a tevékenységfüggőségekre

  • Az 1. feladat a gyökérfeladat, és nem függ más feladattól.
  • A 2. és a 3. feladat attól függ, hogy az 1. feladat előbb befejeződik-e.
  • Végül a 4. feladat attól függ, hogy a 2. feladat és a 3. feladat sikeresen befejeződik-e.

Azure Databricks a lefelé irányuló feladatok futtatása előtt futtatja a felfelé irányuló feladatokat, és a lehető legtöbbet párhuzamosan futtatja. Az alábbi ábra ezeknek a feladatoknak a feldolgozási sorrendjét mutatja be:

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

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

Az egyes feladatokhoz a következő konfigurációs lehetőségek állnak rendelkezésre:

Ebben a szakaszban:

Fürt

Annak a fürtnek a konfiguráláshoz, ahol a feladat fut, kattintson a Fürt legördülő gombra. 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.

Megjegyzés

Minden tevékenység egy összes célú fürtön vagy egy új feladatfürtön fut. Nem használhatja ugyanazt a feladatfürtöt egy feladat több tevékenységéhez.

Függő kódtárak

A függő kódtárak a fürtön a feladat futtatása előtt lesznek telepítve. A futtatás előtt minden tevékenységfüggőségnek telepítve kell lennie.

Függő kódtár hozzáadásához kattintson a Speciális beállítások elemre, majd válassza a Függő kódtárak hozzáadása lehetőséget a Függő kódtár hozzáadása választó megnyitásához. A függőségek megadásához kövesse a Könyvtárfüggőségek dokumentumban található javaslatokat.

Fontos

Ha úgy konfigurált egy kódtárat, hogy automatikusan telepítse az összes fürtöt, vagy olyan meglévő lezárt fürtöt választ ki, amely rendelkezik telepített kódtárakkal, a feladat végrehajtása nem várja meg a kódtár telepítésének befejezését. Ha egy feladathoz egy adott kódtárra van szükség, csatolja a kódtárat a függő kódtárak mezőben található feladathoz.

Feladatparaméter-változók

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

Egy feladat futtatásakor a rendszer lecseréli a két kapcsos zárójelek közé foglalt tevékenységparaméter-változót, és hozzáfűzi egy nem kötelező sztringértékhez, amely az érték részét képezi. Ha például egy nevű paramétert szeretne átadni a 6-os azonosítójú feladat bármely futtatásához, adja hozzá a MyJobIdmy-job-6 következő tevékenységparamétert:

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

A dupla kapcsos zárójelek tartalmát a rendszer nem értékeli ki kifejezésként, így nem lehet műveleteket vagy függvényeket két kapcsos zárójelen belül tenni. A kapcsos zárójelek nem különülnek el, ezért a rendszer {{ job_id }} nem értékeli ki őket.

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

Változó Leírás
{{job_id}} A feladathoz rendelt egyedi azonosító
{{run_id}} A feladatfuttassahoz rendelt egyedi azonosító
{{start_date}} A feladat futtatásának dátuma. A formátum utc időzóna szerint yyyy-MM-dd.
{{start_time}} A futtatás végrehajtási folyamatának időbélyege a fürt létrehozása és elkészülte után. A formátum ezredmásodperc, mivel UNIX utc időzóna szerint van megadva, a által visszaadott érték System.currentTimeMillis() alapján.
{{task_retry_count}} A feladat futtatására tett próbálkozások száma, ha az első kísérlet meghiúsul. Az első kísérlet értéke 0, és minden újrapróbálkozásnál növekszik.

Több tevékenység vezénylése esetén a következő feladatparaméter-változók támogatottak:

Változó Leírás Példaérték
{{parent_run_id}} A több tevékenységből áll feladat futtatásához rendelt egyedi azonosító. 3447835
{{task_key}} Egy több tevékenységből áll feladathoz rendelt egyedi név. "clean_raw_data"

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

Időtúllépés

A feladat maximális befejezési ideje. Ha a feladat ebben az időszakban nem fejeződik be, a Azure Databricks "Timed Out" (Időkorreklált) állapotra állítja.

Újrapróbálkozások

A program újraküldi a sikertelen futtatásokat, és meghatározza, hogy mikor és hányszor. A feladat újrapróbálkozási beállításainak beállításhoz kattintson a Speciális beállítások elemre, és válassza az Újrapróbálkozási szabályzat szerkesztése lehetőséget.

Megjegyzés

Ha az Időtúllépés és az Újrapróbálkozás is konfigurálva van, az időtúllépés minden újrapróbálkozásra vonatkozik.

Feladat klónozása

Új feladatot gyorsan létrehozhat egy meglévő feladat klónozása segítségével. 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 a feladat neve melletti További ... gombra, és válassza a Klónozás lehetőséget a legördülő menüből.

Feladat klónozása

Új feladatot gyorsan létrehozhat egy meglévő feladat klónozása segítségével:

  1. A feladat oldalán kattintson a Tevékenységek 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 Clone task (Tevékenység klónozása) lehetőséget.

Feladat törlése

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

Feladat törlése

Ha több tevékenység vezénylése is engedélyezve van, törölje a feladatot:

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

Feladat elérési útjának másolása

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

  1. Kattintson a Feladatok fülre.
  2. Válassza ki a másolni kívánt 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áshoz.

Ajánlott eljárások

Ebben a szakaszban:

Fürtkonfigurációs tippek

A fürtkonfiguráció fontos a feladat üzemeltetése során. Az alábbiakban általános útmutatást nyújt a feladatfürtök kiválasztásához és konfigurálásához, majd adott feladattípusokra vonatkozó javaslatokat tartalmaz.

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

  • Az új feladatfürtök dedikált fürtök, amelyek akkor vannak létrehozva és elindítva, amikor ön futtat egy tevékenységet, és a tevékenység befejezése után azonnal leáll. Éles környezetben a Databricks új fürtök használatát javasolja, hogy minden feladat teljesen elkülönített környezetben futjon.
  • Amikor új fürtön futtat egy feladatot, a rendszer a feladatot adatmérnöki (tevékenység-) számítási feladatként kezeli, a tevékenység munkaterhelésének díjszabása alapján. Amikor egy meglévő, minden célú fürtön futtat egy feladatot, a rendszer adatelemzési (minden célú) számítási feladatként kezeli, a számítási feladatokra vonatkozó díjszabásnak megfelelően.
  • Ha egy le lezárt meglévő fürtöt választ ki, és a feladat tulajdonosa Újraindításra képes engedéllyel rendelkezik, Azure Databricks elindítja a fürtöt, amikor a feladat futása ütemezve van.
  • A meglévő összes célú fürtök olyan feladatokhoz működnek a legjobban, mint az irányítópultok rendszeres frissítése.

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

Az új feladatfürt kezdési ideje 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-feladatokkal kapcsolatos tippek

A jegyzetfüzetcellák teljes kimenete (az összes jegyzetfüzetcella kombinált kimenete) méretkorlátja 20 MB. Emellett az egyes cellák kimenetére 8 MB-os méretkorlát vonatkozik. Ha a cella teljes kimenete meghaladja a 20 MB-os méretet, vagy ha egy adott cella kimenete nagyobb 8 MB-nál, a futtatás megszakad, és sikertelenként lesz megjelölve.

Ha segítségre van szüksége a korláthoz közeli vagy azt túllépő cellák kereséséhez, futtassa a jegyzetfüzetet egy minden célú fürtön, és használja ezt a jegyzetfüzet automatikus mentési módszerét.

Streamelési feladatok

A Spark Streaming-feladatok egyidejű futtatásai soha nem lehetek 1-esnél nagyobbak. A streamelési feladatokat úgy kell beállítani, hogy a cron kifejezéssel "* * * * * ?" fusson (percenként).

Mivel a streamelési tevékenység folyamatosan fut, mindig a feladat utolsó tevékenységének kell lennie.

JAR-feladatok

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

Kimeneti méretkorlátok

Megjegyzés

A 6.3-as Databricks Runtime és a feletti érhetők el.

A feladatkimenetre, 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.

A korlát elkerüléséhez a Spark-konfiguráció beállításával megakadályozhatja, hogy az stdout vissza legyen visszaadva az illesztőből spark.databricks.driver.disableScalaOutputtrue Azure Databricks-be. Alapértelmezés szerint a jelző értéke false . A jelző 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-feladatokhoz ajánlott feladatfürtökhöz használni, mert ez letiltja a jegyzetfüzetek eredményeit.

A megosztott használata SparkContext

Mivel Azure Databricks szolgáltatás felügyelt szolgáltatás, szükség lehet néhány kódváltozásra annak biztosításához, hogy a Apache Spark feladatok megfelelően fussnak. A JAR-feladatprogramoknak a megosztott SparkContext API-t kell használniuk a lekért api-hoz. SparkContext Mivel Azure Databricks inicializálja a SparkContext metódust, a meghívott new SparkContext() programok sikertelenek lesznek. A lekért hez csak a által SparkContext létrehozott megosztott SparkContext Azure Databricks:

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

A megosztott használata esetén több módszert is érdemes SparkContext elkerülni.

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

Blokkok try-finally használata a feladat tisztítására

Vezényel egy JAR-t, amely két részből áll:

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

Létrehozhat például táblákat, és a használatával eldobhatja jobBody()jobCleanup() ezeket a táblákat.

A tisztítási metódus biztonságos módon hívható meg, ha egy blokkot ad a try-finally kódba:

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

Ne próbálja meg a használatával vagy a következő kóddal megtisztítani a kódot:

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

A Spark-tárolók élettartamának a Azure Databricks köszönhetően a leállítási hookok nem futnak megbízhatóan.

JAR-feladat paramétereinek konfigurálása

Paramétereket JSON-sztringtömbtel ad át a JAR-feladatoknak. Tekintse meg az objektumot a Kérés spark_jar_task törzsében, amely a Jobs API Create a new job spark_jar_task létrehozása) műveletének ( ) van POST /jobs/create átkért. A paraméterek eléréséhez vizsgálja meg a String függvénynek átadott main tömböt.

Könyvtárfüggőségek

A Spark-illesztő bizonyos kódtárfüggőségekkel rendelkezik, amelyek nem bírálhatóak felül. Ezek a kódtárak prioritást élveznek azokkal a kódtárakkal ellentétben, amelyek ütköznek velük.

Az illesztőprogram-kódtár függőségeinek teljes listájáért futtassa a következő parancsot egy azonos Spark-verziójú fürthöz csatolt jegyzetfüzetben (vagy a megvizsgálni kívánt illesztővel egy fürtön).

%sh
ls /databricks/jars

Kódtárfüggőségek kezelése

Az ERŐFORRÁStár-függőségek feladatokhoz való létrehozásakor jó általános szabály a Spark és a Hadoop függőségként való provided listának használata. 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 sbt -hez adja hozzá a Sparkot és a Hadoopot 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égeinek megfelelő Scala-verziót a futtatott verzió alapján.