Show / Hide Table of Contents

Namespace Mangrove.MetricSetTransformers.Vectorization

Classes

Bag

BagCreator

A visitor that groups ColumnReferences of the same TypeKind wrapping UnaryAggregations between the same tables into Bags.

Level

SplitMetricsPlan

Given a MetricsPlan, split it into two metrics plan (let's call them "produce" and "consume").

"Produce" plan describes the computation before the the first Aggregation. In other words, it contains DataSources, Joins, TableReferences, Externs or Unions. This can be viewed as "data preparation" part.

"Consume" plan contains all the Aggregations from the original plan. "Consume" plan has a unique DataSource, whose DataSourceColumns are determined automatically from the original MetricsPlan.

Vectorize

Given a MetricsPlan, produce a VectorizedMetricsPlan from it. The key steps are:

  1. Split the original plan into two using SplitMetricsPlan.
  2. For the "consume" part of the split plan group the Expressions into Bags.

VectorizedMetricsPlan

This class provides an abstraction for vectorized computations.

The "vectorization" is referring to collecting UnaryAggregation Expressions of the same UnaryAggregationKind with the same TypeKind of the operand and between the same Tables together into one group (Bag) to be able to apply vectorized arithmetic to each of the Bags).

Back to top Generated by DocFX