Feladat előzetes lefoglalási joga

A Apache Spark feladatütemező automatikusan Azure Databricks feladatokat a igazságos megosztás kikényszerítésére. Ez interaktív válaszidőt garantál a sok egyidejűleg futó feladatokkal futó fürtökön.

Tipp

Ha a tevékenységeket az ütemező előemeli, a leállít okuk a következőre lesz beállítva: preempted by scheduler . Ez az ok látható a Spark felhasználói felületén, és felhasználható a preemption viselkedésének hibakeresésére.

Előzetes lefoglalási jog beállításai

Az előzetes eljárás alapértelmezés szerint óvatos: a feladatok akár 30 másodpercig is erőforráshiányba esnek, mielőtt az ütemező beavatkozik. Az előzetes előzetes adatokat a következő Spark-konfigurációs tulajdonságok fürtindításkor való beállításával hangolhatja be:

  • Azt határozza meg, hogy engedélyezve legyen-e az előzetes beemelés.

    spark.databricks.preemption.enabled true
    
  • A feladatonként garantálható igazságos hányad. Ha ezt 1,0-ra osztjuk, akkor az ütemező agresszíven megpróbálja biztosítani a tökéletes igazságos megosztást. Ha ezt a beállítást 0.0-ra juk, az gyakorlatilag letiltja az előzetes becslést. Az alapértelmezett beállítás 0,5, ami azt jelenti, hogy a legrosszabb esetben egy állás az igazságos része felét fogja kapni.

    spark.databricks.preemption.threshold 0.5
    
  • Mennyi ideig kell egy feladatnak éheznie az előzetes beemeltetés előtt. Ha alacsonyabb értékeket ad meg, az interaktívabb válaszidőt biztosít a fürt hatékonyságának költségére. A javasolt értékek 1 és 100 másodperc között vannak.

    spark.databricks.preemption.timeout 30s
    
  • Az, hogy az ütemező milyen gyakran ellenőrzi a tevékenységek előmegelenítését. Ezt a preemption időtúllépési időkorlátnál kisebbre kell állítani.

    spark.databricks.preemption.interval 5s
    

A feladatütemezéssel kapcsolatos további információkért lásd: Scheduling Within an Application (Ütemezés egy alkalmazásban).