public class Observation
extends Object
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.
param: name name of the metric
Constructor and Description |
---|
Observation()
Create an Observation instance without providing a name.
|
Observation(String name) |
Modifier and Type | Method and Description |
---|---|
static Observation |
apply()
Observation constructor for creating an anonymous observation.
|
static Observation |
apply(String name)
Observation constructor for creating a named observation.
|
scala.collection.immutable.Map<String,?> |
get()
(Scala-specific) Get the observed metrics.
|
java.util.Map<String,Object> |
getAsJava()
(Java-specific) Get the observed metrics.
|
public Observation(String name)
public Observation()
public static Observation apply()
public static Observation apply(String name)
name
- (undocumented)public scala.collection.immutable.Map<String,?> get() throws InterruptedException
Map[String, Any]
InterruptedException
- interrupted while waitingpublic java.util.Map<String,Object> getAsJava() throws InterruptedException
java.util.Map[String, Object]
InterruptedException
- interrupted while waiting