Operation is described by a name and parameters (that are simply used to create a CommitInfo for
OptimisticTransactionImpl when committed and, as a way to bypass a transaction, ConvertToDeltaCommand).
Operation may have performance metrics.
parameters: Map[String, Any]
Operation is requested for parameters with the values in JSON format
Sealed Abstract Class
Operation is a Scala sealed abstract class which means that all of the implementations are in the same compilation unit (a single file).
Recorded when a merge operation is committed to a Delta table (when MergeIntoCommand is executed)
Operation takes the following to be created:
Operation is an abstract class and cannot be created directly. It is created indirectly for the concrete Operations.
Serializing Parameter Values (to JSON Format)¶
jsonEncodedValues: Map[String, String]
jsonEncodedValues converts the values of the parameters to JSON format.
jsonEncodedValues is used when:
OptimisticTransactionImplis requested to commit
ConvertToDeltaCommandcommand is requested to streamWrite
operationMetrics is empty by default (and is expected to be overriden by concrete operations)
operationMetrics is used when
Operation is requested to transformMetrics.
transformMetrics( metrics: Map[String, SQLMetric]): Map[String, String]
transformMetrics returns a collection of performance metrics (
SQLMetric) and their values (as a text) that are defined as the operationMetrics.
transformMetrics is used when
SQLMetricsReporting is requested to getMetricsForOperation.