예제 #1
0
 public static IFluentProcessMutatorBuilder ThrowExceptionOnRowError(this IFluentProcessMutatorBuilder builder, ThrowExceptionOnRowErrorMutator mutator)
 {
     return(builder.AddMutators(mutator));
 }
예제 #2
0
 public static IFluentProcessMutatorBuilder ReplaceNullWithValue(this IFluentProcessMutatorBuilder builder, TrimStringMutator mutator)
 {
     return(builder.AddMutators(mutator));
 }
예제 #3
0
 /// <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));
 }
예제 #4
0
 public static IFluentProcessMutatorBuilder RemoveColumn(this IFluentProcessMutatorBuilder builder, RemoveColumnMutator mutator)
 {
     return(builder.AddMutators(mutator));
 }
예제 #5
0
 public static IFluentProcessMutatorBuilder Explode(this IFluentProcessMutatorBuilder builder, ExplodeMutator mutator)
 {
     return(builder.AddMutators(mutator));
 }
예제 #6
0
 public static IFluentProcessMutatorBuilder CustomCode(this IFluentProcessMutatorBuilder builder, CustomMutator mutator)
 {
     return(builder.AddMutators(mutator));
 }
예제 #7
0
 public static IFluentProcessMutatorBuilder RemoveRow(this IFluentProcessMutatorBuilder builder, RemoveRowWithErrorMutator mutator)
 {
     return(builder.AddMutators(mutator));
 }
예제 #8
0
 /// <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));
 }
예제 #10
0
 /// <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));
 }
예제 #11
0
 public static IFluentProcessMutatorBuilder SetTag(this IFluentProcessMutatorBuilder builder, SetTagMutator mutator)
 {
     return(builder.AddMutators(mutator));
 }