Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Класс для наблюдения за именованными метриками в кадре данных.
Метрики — это агрегирование выражений, применяемых к кадру данных при обработке действием. Экземпляр наблюдения собирает метрики во время выполнения первого действия. Последующие действия не изменяют метрики, возвращаемые Observation.get. Получение метрики с помощью Observation.get блоков до тех пор, пока первое действие не завершится, и метрики становятся доступными.
Синтаксис
from pyspark.sql import Observation
observation = Observation(name=<name>)
Параметры
| Параметр | Тип | Описание |
|---|---|---|
name |
str, необязательный | Имя наблюдения и метрики. По умолчанию используется случайная строка UUID. |
Свойства
| Недвижимость | Описание |
|---|---|
get |
Возвращает наблюдаемые метрики в виде словаря. Ожидает, пока наблюдаемый набор данных завершит свое первое действие. Доступен только результат первого действия. |
Примечания
Этот класс не поддерживает потоковые наборы данных.
Столбцы метрик должны содержать литерал (например, lit(42)), или содержать одну или несколько агрегатных функций (например, sum(a) или sum(a + b) + avg(c) - lit(1)). Выражения, содержащие ссылки на столбцы входного кадра данных, всегда должны быть упакованы в агрегатную функцию.
Примеры
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}