Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Uma classe para observar métricas nomeadas num DataFrame.
Métricas são expressões de agregação aplicadas ao DataFrame enquanto este está a ser processado por uma ação. Uma instância de Observação recolhe as métricas enquanto a primeira ação é executada. As ações subsequentes não modificam as métricas devolvidas por Observation.get. Recuperação da métrica através de Observation.get blocos 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 |
|---|---|---|
name |
STR, opcional | O nome da Observação e a métrica. Por defeito, é uma cadeia de UUID aleatória. |
Propriedades
| Propriedade | Descrição |
|---|---|
get |
Devolve as métricas observadas como um dicionário. Espera até que o conjunto de dados observado termine a sua primeira ação. Apenas o resultado da primeira ação está disponível. |
Notes
Esta classe não suporta conjuntos de dados em streaming.
As colunas métricas devem conter um literal (por exemplo, lit(42)), ou devem conter uma ou mais funções agregadas (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 estar sempre encapsuladas numa função agregada.
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}