Packages

class Observation extends AnyRef

Helper class to simplify usage of Dataset.observe(String, Column, Column*):

// Observe row count (rows) and highest id (maxid) in the Dataset while writing it
val observation = Observation("my metrics")
val observed_ds = ds.observe(observation, count(lit(1)).as("rows"), max($"id").as("maxid"))
observed_ds.write.parquet("ds.parquet")
val metrics = observation.get

This collects the metrics while the first action is executed on the observed dataset. Subsequent actions do not modify the metrics returned by get. Retrieval of the metric via get blocks until the first action has finished and metrics become available.

This class does not support streaming datasets.

Source
Observation.scala
Since

3.3.0

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Observation
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Observation()

    Create an Observation instance without providing a name.

    Create an Observation instance without providing a name. This generates a random name.

  2. new Observation(name: String)

    name

    name of the metric

Value Members

  1. def get: Map[String, _]

    (Scala-specific) Get the observed metrics.

    (Scala-specific) Get the observed metrics. This waits for the observed dataset to finish its first action. Only the result of the first action is available. Subsequent actions do not modify the result.

    returns

    the observed metrics as a Map[String, Any]

    Annotations
    @throws( ... )
    Exceptions thrown

    InterruptedException interrupted while waiting

  2. def getAsJava: Map[String, AnyRef]

    (Java-specific) Get the observed metrics.

    (Java-specific) Get the observed metrics. This waits for the observed dataset to finish its first action. Only the result of the first action is available. Subsequent actions do not modify the result.

    returns

    the observed metrics as a java.util.Map[String, Object]

    Annotations
    @throws( ... )
    Exceptions thrown

    InterruptedException interrupted while waiting

  3. val name: String