Ütemezőkészletek használata több streamelési számítási feladathoz
Ha lehetővé szeretné tenni, hogy több streamelési lekérdezés egyszerre hajthasson végre feladatokat egy megosztott fürtön, konfigurálhatja a lekérdezéseket úgy, hogy külön ütemezőkészletekben hajthassanak végre.
Hogyan működnek az ütemezőkészletek?
Alapértelmezés szerint az összes lekérdezés ugyanabban a tisztességes ütemezési készletben fut egy jegyzetfüzetben. A jegyzetfüzetben lévő összes streamelési lekérdezés eseményindítói által létrehozott feladatok egymás után futnak, először kifelé (FIFO) sorrendben. Ez szükségtelen késéseket okozhat a lekérdezésekben, mert nem hatékonyan osztják meg a fürt erőforrásait.
A Scheduler-készletek lehetővé teszik annak deklarálásához, hogy mely strukturált streamelési lekérdezések osztanak meg számítási erőforrásokat.
Az alábbi példa egy dedikált készlethez rendel hozzá query1
egy ütemezőkészletet, és query2
query3
megoszt egy ütemezőkészletet.
# Run streaming query1 in scheduler pool1
spark.sparkContext.setLocalProperty("spark.scheduler.pool", "pool1")
df.writeStream.queryName("query1").format("delta").start(path1)
# Run streaming query2 in scheduler pool2
spark.sparkContext.setLocalProperty("spark.scheduler.pool", "pool2")
df.writeStream.queryName("query2").format("delta").start(path2)
# Run streaming query3 in scheduler pool2
spark.sparkContext.setLocalProperty("spark.scheduler.pool", "pool2")
df.writeStream.queryName("query3").format("delta").start(path3)
Feljegyzés
A helyi tulajdonság konfigurációjának ugyanabban a jegyzetfüzetcellában kell lennie, ahol a streamelési lekérdezést elindítja.
További részletekért tekintse meg az Apache fair scheduler dokumentációját .
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: