定义要在 DataFrame 上观察的(已命名)指标。 此方法返回返回与输入相同的结果的“观察”数据帧,并保证以下保证:它将计算在该点流经数据集的所有数据的已定义聚合(指标)。 一旦到达完成点,它就会报告定义的聚合列的值。
Syntax
observe(observation: Union["Observation", str], *exprs: Column)
参数
| 参数 | 类型 | 说明 |
|---|---|---|
observation |
观察或 str |
str 指定名称或 Observation 要获取指标的实例。 |
exprs |
列 | 列表达式(列)。 |
退货
DataFrame:观察到的数据帧。
备注
如果为observation,Observation此方法仅支持批处理查询。 当是字符串时 observation ,此方法适用于批处理和流式处理查询。 目前尚不支持连续执行。
示例
from pyspark.sql import Observation, functions as sf
df = spark.createDataFrame([(2, "Alice"), (5, "Bob")], schema=["age", "name"])
observation = Observation("my metrics")
observed_df = df.observe(observation,
sf.count(sf.lit(1)).alias("count"), sf.max("age"))
observed_df.count()
# 2
observation.get
# {'count': 2, 'max(age)': 5}