Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Klasse, die benannte Metriken in einem DataFrame beobachtet.
Metriken sind Aggregationsausdrücke, die auf den DataFrame angewendet werden, während sie von einer Aktion verarbeitet werden. Eine Beobachtungsinstanz erfasst die Metriken, während die erste Aktion ausgeführt wird. Nachfolgende Aktionen ändern nicht die metriken, die von Observation.get. Abrufen der Metrik über Observation.get Blöcke, bis die erste Aktion abgeschlossen ist und Metriken verfügbar sind.
Syntax
from pyspark.sql import Observation
observation = Observation(name=<name>)
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
name |
str, optional | Der Name der Beobachtung und der Metrik. Standardmäßig wird eine zufällige UUID-Zeichenfolge verwendet. |
Eigenschaften
| Eigentum | Beschreibung |
|---|---|
get |
Gibt die beobachteten Metriken als Wörterbuch zurück. Wartet, bis das beobachtete Dataset seine erste Aktion beendet hat. Nur das Ergebnis der ersten Aktion ist verfügbar. |
Hinweise
Diese Klasse unterstützt keine Streaming-Datasets.
Die Metrikspalten müssen entweder ein Literal (z. B lit(42). ) enthalten oder eine oder mehrere Aggregatfunktionen enthalten (z sum(a) . B. oder sum(a + b) + avg(c) - lit(1)). Ausdrücke, die Verweise auf die Spalten des Eingabedatenframes enthalten, müssen immer in eine Aggregatfunktion eingeschlossen werden.
Beispiele
from pyspark.sql.functions import col, count, lit, max
from pyspark.sql import Observation
df = spark.createDataFrame([["Alice", 2], ["Bob", 5]], ["name", "age"])
observation = Observation("my metrics")
observed_df = df.observe(observation, count(lit(1)).alias("count"), max(col("age")))
observed_df.count()
2
observation.get
{'count': 2, 'max(age)': 5}