Pengamatan

Kelas untuk mengamati metrik bernama pada DataFrame.

Metrik adalah ekspresi agregasi yang diterapkan ke DataFrame saat sedang diproses oleh tindakan. Instans Observasi mengumpulkan metrik saat tindakan pertama dijalankan. Tindakan berikutnya tidak mengubah metrik yang dikembalikan oleh Observation.get. Pengambilan metrik melalui Observation.get blok hingga tindakan pertama selesai dan metrik tersedia.

Sintaksis

from pyspark.sql import Observation

observation = Observation(name=<name>)

Parameter-parameternya

Parameter Tipe Deskripsi
name str, opsional Nama Observasi dan metrik. Default ke string UUID acak.

Karakteristik

Harta benda Deskripsi
get Mengembalikan metrik yang diamati sebagai kamus. Menunggu hingga himpunan data yang diamati menyelesaikan tindakan pertamanya. Hanya hasil tindakan pertama yang tersedia.

Catatan

Kelas ini tidak mendukung himpunan data streaming.

Kolom metrik harus berisi literal (misalnya, lit(42)), atau harus berisi satu atau beberapa fungsi agregat (misalnya, sum(a) atau sum(a + b) + avg(c) - lit(1)). Ekspresi yang berisi referensi ke kolom DataFrame input harus selalu dibungkus dalam fungsi agregat.

Examples

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}