awslabs / awslabs/python-deequ
Retrieving indication of failed metrics
- Vorherrschende Sprache
- Jupyter Notebook
- Sterne
- 826
- Forks
- 158
- Ø Merge
- 9 T. 22 Std.
- Gemergte PRs (30 T.)
- 3
Beschreibung
**Is your feature request related to a problem? Please describe.**
I have a process that computes data metrics using deequ. I noticed that when a spark job computing these metrics fails, they are stored as failed metrics in the AnalyzerContext Scala object. However, the only API I seem to find for retrieving the result metrics is `successMetricsAsDataFrame `or `successMetricsAsJson` which both call the Scala APIs that filter out the failed metrics. This means that I have no simple way of finding out if metrics failed due to Spark job failure in order to rerun it or investigate the reasons for the failure.
**Describe the solution you'd like**
Ideally a translation of the metric map in AnalyzerContext into a python object. This would also solve the failed metric problem and also I won't have to manually parse the results from the dataframe in order to save them in the format I would like to. Another possibility would be to add a `allMetrics` getter to the API.
**Additional context**
[The python AnalyzerContext object](https://github.com/awslabs/python-deequ/blob/7ec9f6f72839779f370a4753c0db26d6cf052203/pydeequ/analyzers.py#L55)
[The scala AnalyzerContext object](https://github.com/awslabs/deequ/blob/933417676189bc7833166f976fd024a4b2177292/src/main/scala/com/amazon/deequ/analyzers/runners/AnalyzerContext.scala#L48)
Beitragsleitfaden
Rechercherichtung
Beginne mit dem Python-AnalyzerContext-Einstiegspunkt in pydeequ/analyzers.py um Zeile 55 und vergleiche ihn anschließend mit dem verlinkten Scala-AnalyzerContext. Verfolge, wie successMetricsAsDataFrame und successMetricsAsJson die Metrik-Map filtern. Die Aufgabe ist abgeschlossen, wenn Python-Aufrufer fehlgeschlagene Metriken aus einem abgeschlossenen Kontext untersuchen können, einschließlich Fehlern, die durch Spark-Jobs verursacht wurden, ohne die ausschließlich erfolgreichen Ausgaben manuell parsen zu müssen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python, scala, spark
- Bereich
- api, data-engineering
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100