public static IFluentProcessMutatorBuilder ThrowExceptionOnRowError(this IFluentProcessMutatorBuilder builder, ThrowExceptionOnRowErrorMutator mutator) { return(builder.AddMutators(mutator)); }
public static IFluentProcessMutatorBuilder ReplaceNullWithValue(this IFluentProcessMutatorBuilder builder, TrimStringMutator mutator) { return(builder.AddMutators(mutator)); }
/// <summary> /// Throw an exception if a subsequent occurence of a row key is found. /// <para>- input can be unordered</para> /// <para>- all keys are stored in memory</para> /// </summary> public static IFluentProcessMutatorBuilder ThrowExceptionOnDuplicateKey(this IFluentProcessMutatorBuilder builder, ThrowExceptionOnDuplicateKeyMutator mutator) { return(builder.AddMutators(mutator)); }
public static IFluentProcessMutatorBuilder RemoveColumn(this IFluentProcessMutatorBuilder builder, RemoveColumnMutator mutator) { return(builder.AddMutators(mutator)); }
public static IFluentProcessMutatorBuilder Explode(this IFluentProcessMutatorBuilder builder, ExplodeMutator mutator) { return(builder.AddMutators(mutator)); }
public static IFluentProcessMutatorBuilder CustomCode(this IFluentProcessMutatorBuilder builder, CustomMutator mutator) { return(builder.AddMutators(mutator)); }
public static IFluentProcessMutatorBuilder RemoveRow(this IFluentProcessMutatorBuilder builder, RemoveRowWithErrorMutator mutator) { return(builder.AddMutators(mutator)); }
/// <summary> /// Keeps only the first row of each key, and discard all subsequent rows with existing keys. /// <para>- input can be unordered</para> /// <para>- if a more refined logic is required to decide which row should be kept of rows with same key then <see cref="ReduceGroupToSingleRowMutatorFluent.ReduceGroupToSingleRow(IFluentProcessMutatorBuilder, ReduceGroupToSingleRowMutator)"/> or <see cref="SortedReduceGroupToSingleRowMutatorFluent.ReduceGroupToSingleRowOrdered(IFluentProcessMutatorBuilder, SortedReduceGroupToSingleRowMutator)"/></para> can be used instead. /// <para>- all keys are stored in memory</para> /// </summary> public static IFluentProcessMutatorBuilder RemoveDuplicateRows(this IFluentProcessMutatorBuilder builder, RemoveDuplicateRowsMutator mutator) { return(builder.AddMutators(mutator)); }
public static IFluentProcessMutatorBuilder ReplaceEmptyStringWithNull(this IFluentProcessMutatorBuilder builder, ReplaceEmptyStringWithNullMutator mutator) { return(builder.AddMutators(mutator)); }
/// <summary> /// <para>- input can be unordered</para> /// <para>- returns all aggregates at once when everything is processed (blocks execution)</para> /// <para>- memory footprint is high because all rows in all groups are collected before aggregation</para> /// <para>- if the input is ordered then <see cref="SortedMemoryAggregationMutatorFluent.AggregateOrdered(IFluentProcessMutatorBuilder, SortedMemoryAggregationMutator)"/> should be used for much lower memory footprint and stream-like behavior</para> /// <para>- if the input is unordered but only basic operations are used then <see cref="ContinuousAggregationMutatorFluent.AggregateContinuously(IFluentProcessMutatorBuilder, ContinuousAggregationMutator)"/> should be used</para> /// </summary> public static IFluentProcessMutatorBuilder Aggregate(this IFluentProcessMutatorBuilder builder, MemoryAggregationMutator mutator) { return(builder.AddMutators(mutator)); }
public static IFluentProcessMutatorBuilder SetTag(this IFluentProcessMutatorBuilder builder, SetTagMutator mutator) { return(builder.AddMutators(mutator)); }