Pozorování

Třída, která bude sledovat pojmenované metriky v datovém rámci.

Metriky jsou agregační výrazy použité na datový rámec během zpracování akcí. Instance pozorování shromažďuje metriky při spuštění první akce. Následné akce neupravují metriky vrácené Observation.get. Načtení metriky prostřednictvím bloků, Observation.get dokud se nedokončí první akce a nebudou k dispozici metriky.

Syntaxe

from pyspark.sql import Observation

observation = Observation(name=<name>)

Parametry

Parameter Typ Description
name str, volitelné Název pozorování a metriky. Výchozí hodnota je náhodný řetězec UUID.

Vlastnosti

Vlastnictví Description
get Vrátí pozorované metriky jako slovník. Počká, dokud pozorovaná datová sada nedokončí první akci. K dispozici je pouze výsledek první akce.

Poznámky

Tato třída nepodporuje streamované datové sady.

Sloupce metrik musí obsahovat literál (například lit(42)) nebo musí obsahovat jednu nebo více agregačních funkcí (například sum(a)sum(a + b) + avg(c) - lit(1)). Výrazy, které obsahují odkazy na sloupce vstupního datového rámce, musí být vždy zabaleny do agregační funkce.

Příklady

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}