Observação
Uma classe para observar métricas nomeadas em um DataFrame.
As métricas são expressões de agregação aplicadas ao DataFrame enquanto ele está sendo processado por uma ação. Uma instância de Observation coleta as métricas enquanto a primeira ação é executada. As ações subsequentes não modificam as métricas retornadas por Observation.get. Recuperação dos métricas por meio de blocos Observation.get até que a primeira ação seja concluída e as métricas fiquem disponíveis.
Sintaxe
from pyspark.sql import Observation
observation = Observation(name=<name>)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
| str, opcional | O nome da Observação e os metros. Por padrão, são utilizadas strings UUID aleatórias. |
Propriedades
Propriedade | Descrição |
|---|---|
Retorna as métricas observadas como um dicionário. Aguarda até que o dataset observado termine sua primeira ação. Somente o resultado da primeira ação está disponível. |
Notas
Esta classe não suporta conjunto de dados.
As colunas de métricas devem conter um literal (por exemplo, lit(42)), ou devem conter uma ou mais funções de agregação (por exemplo, sum(a) ou sum(a + b) + avg(c) - lit(1)). Expressões que contenham referências às colunas do DataFrame de entrada devem sempre ser envolvidas por uma função de agregação.
Exemplos
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}