다음을 통해 공유


관측

DataFrame에서 명명된 메트릭을 관찰하는 클래스입니다.

메트릭은 작업에서 처리되는 동안 DataFrame에 적용되는 집계 식입니다. 관찰 인스턴스는 첫 번째 작업이 실행되는 동안 메트릭을 수집합니다. 후속 작업은 .에서 반환 Observation.get된 메트릭을 수정하지 않습니다. 첫 번째 작업이 완료되고 메트릭을 사용할 수 있게 될 때까지 블록을 통해 Observation.get 메트릭을 검색합니다.

문법

from pyspark.sql import Observation

observation = Observation(name=<name>)

매개 변수

매개 변수 유형 설명
name str, 선택 사항 관찰 및 메트릭의 이름입니다. 기본값은 임의의 UUID 문자열입니다.

속성

재산 설명
get 관찰된 메트릭을 사전으로 반환합니다. 관찰된 데이터 세트가 첫 번째 작업을 완료할 때까지 기다립니다. 첫 번째 작업의 결과만 사용할 수 있습니다.

Notes

이 클래스는 스트리밍 데이터 세트를 지원하지 않습니다.

메트릭 열은 리터럴(예: lit(42))을 포함하거나 하나 이상의 집계 함수(예 sum(a) : 또는 sum(a + b) + avg(c) - lit(1))를 포함해야 합니다. 입력 DataFrame의 열에 대한 참조를 포함하는 식은 항상 집계 함수에 래핑되어야 합니다.

예제

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}