Delen via


Observatie

Een klasse voor het observeren van benoemde metrische gegevens in een DataFrame.

Metrische gegevens zijn aggregatie-expressies die worden toegepast op het DataFrame terwijl deze worden verwerkt door een actie. Een observatieexemplaren verzamelt de metrische gegevens terwijl de eerste actie wordt uitgevoerd. Volgende acties wijzigen de metrische gegevens die worden geretourneerd door Observation.get. Ophalen van de metrische gegevens via Observation.get blokken totdat de eerste actie is voltooid en metrische gegevens beschikbaar komen.

Syntaxis

from pyspark.sql import Observation

observation = Observation(name=<name>)

Parameterwaarden

Kenmerk Typ Beschrijving
name str, optioneel De naam van de observatie en de metrische waarde. Standaard ingesteld op een willekeurige UUID-tekenreeks.

Eigenschappen

Vastgoed Beschrijving
get Retourneert de waargenomen metrische gegevens als een woordenlijst. Wacht totdat de waargenomen gegevensset de eerste actie heeft voltooid. Alleen het resultaat van de eerste actie is beschikbaar.

Aantekeningen

Deze klasse biedt geen ondersteuning voor streaminggegevenssets.

De kolommen met metrische gegevens moeten een letterlijke waarde (bijvoorbeeld lit(42)) of een of meer statistische functies (bijvoorbeeld sum(a) of sum(a + b) + avg(c) - lit(1)) bevatten. Expressies met verwijzingen naar de kolommen van het dataframe moeten altijd worden verpakt in een statistische functie.

Examples

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}