Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Job insight je diagnostická knižnica založená na jazyku Java, ktorá vám pomôže interaktívne analyzovať dokončené aplikácie Spark v Microsoft Fabric. Prehľad úloh umožňuje získať hlbší prehľad o úlohách Sparku načítaním štruktúrovaných údajov o vykonávaní, ako sú dotazy, úlohy, fázy, úlohy a vykonávacie moduly v rámci poznámkových blokov Fabric Spark pomocou Scala.
Či už riešite problémy s výkonom alebo vykonávate vlastnú diagnostiku, knižnica prehľadov úloh vám umožňuje pracovať s telemetriou Sparku ako natívnymi množinami údajov Spark, čo uľahčuje riešenie problémov s výkonom a skúmanie prehľadov vykonávania.
Poznámka
Prístup ku knižnici Job Insight pomocou PySparku zatiaľ nie je podporovaný.
Požiadavky
Podporovaná je iba Scala.
Vyžaduje sa modul Fabric Runtime 1.3 alebo novší (so Sparkom 3.5+).
PySpark nepodporuje prístup ku knižnici Job Insight.
Kľúčové možnosti
Interaktívna analýza úloh Sparku: Získajte prístup k metrikám vykonávania Sparku vrátane podrobností o úlohe, fáze a vykonávateľovi.
Zachovanie metrík vykonávania: Uložte metriky vykonávania úloh Sparku do tabuliek Lakehouse na vytváranie zostáv a integráciu.
Kópia denníka udalostí Sparku: Exportujte denníky udalostí do OneLake alebo Azure Data Storage.
Známe obmedzenie
V súčasnosti knižnica nepodporuje spracovanie veľkých denníkov udalostí, ako sú reťazce nad 20 MB alebo hlboko vnorené štruktúry.
Vzorový poznámkový blok
Na začiatok môžete použiť poskytnutý vzorový poznámkový blok (vzorový súbor ipynb). Zápisník obsahuje:
- Ukážka
analyze()aloadJobInsight()kód - Príkazy na zobrazenie (napríklad,
queries.show()) - Príklady kopírovania denníka udalostí.
Začíname
1. Analýza dokončenej úlohy Spark
Extrahujte štruktúrované údaje o vykonávaní z dokončenej úlohy Sparku pomocou rozhrania analyze API:
import com.microsoft.jobinsight.diagnostic.SparkDiagnostic
val jobInsight = SparkDiagnostic.analyze(
$workspaceId,
$artifactId,
$livyId,
$jobType,
$stateStorePath,
$attemptId
)
val queries = jobInsight.queries
val jobs = jobInsight.jobs
val stages = jobInsight.stages
val tasks = jobInsight.tasks
val executors = jobInsight.executors
2. Uložte metriky a protokoly do jazera
Uložte výstup analýzy do tabuliek Lakehouse na vytváranie zostáv alebo integráciu:
val df = jobInsight.queries
df.write
.format("delta")
.mode("overwrite")
.saveAsTable("sparkdiagnostic_lh.Queries")
Rovnakú logiku použite na ďalšie súčasti, ako sú úlohy, fázy alebo vykonávacie programy.
3. Znova načítajte predchádzajúcu analýzu
Ak ste už spustili analýzu a uložili výstup, znova ho načítajte bez opakovania procesu:
import com.microsoft.jobInsight.diagnostic.SparkDiagnostic
val jobInsight = SparkDiagnostic.loadJobInsight(
$stateStorePath
)
val queries = jobInsight.queries
val jobs = jobInsight.jobs
val stages = jobInsight.stages
val tasks = jobInsight.tasks
val executors = jobInsight.executors
4. Kopírovanie denníkov udalostí Spark
Skopírujte denníky udalostí Spark do umiestnenia ABFSS (napríklad OneLake alebo Azure Data Lake Storage (ADLS) Gen2) pomocou tohto rozhrania API:
import com.microsoft.jobInsight.diagnostic.LogUtils
val contentLength = LogUtils.copyEventLog(
$workspaceId,
$artifactId,
$livyId,
$jobType,
$targetDirectory,
$asyncMode,
$attemptId
)
Osvedčené postupy
Uistite sa, že máte správne povolenia na čítanie/zápis pre všetky cesty ABFSS.
Uložte
analyze()výstupy na trvalé miesto na opätovné použitie.Používa sa
asyncMode = truepri kopírovaní denníkov pre veľké úlohy na zníženie latencie.Monitorovanie veľkosti a štruktúry denníka udalostí, aby sa predišlo problémom s deserializáciou.
Riešenie problémov
| Vydať | Povinné |
|---|---|
| Prístup na zápis je odmietnutý | Skontrolujte povolenia na zápis pre cieľový adresár ABFSS. |
| stateStorePath už existuje | Použite novú cestu, ktorá ešte neexistuje pre každé volanie na analýzu(). |