public IEtlPipeline WriteTo(IBulkWriter <TOut> bulkWriter) { var step = new BulkWriterEtlPipelineStep <TOut>(this, bulkWriter); PipelineContext.AddStep(step); return(PipelineContext.Pipeline); }
public IEtlPipelineStep <TOut, TNextOut> Project <TNextOut>(Func <TOut, TNextOut> projectionFunc) { if (projectionFunc == null) { throw new ArgumentNullException(nameof(projectionFunc)); } var step = new ProjectEtlPipelineStep <TOut, TNextOut>(this, projectionFunc); PipelineContext.AddStep(step); return(step); }
public IEtlPipelineStep <TOut, TNextOut> Pivot <TNextOut>(Func <TOut, IEnumerable <TNextOut> > pivotFunc) { if (pivotFunc == null) { throw new ArgumentNullException(nameof(pivotFunc)); } var step = new PivotEtlPipelineStep <TOut, TNextOut>(this, pivotFunc); PipelineContext.AddStep(step); return(step); }
public IEtlPipelineStep <TOut, TNextOut> Aggregate <TNextOut>(Func <IEnumerable <TOut>, TNextOut> aggregationFunc) { if (aggregationFunc == null) { throw new ArgumentNullException(nameof(aggregationFunc)); } var step = new AggregateEtlPipelineStep <TOut, TNextOut>(this, aggregationFunc); PipelineContext.AddStep(step); return(step); }
public IEtlPipelineStep <TOut, TOut> TransformInPlace(params Action <TOut>[] transformActions) { if (transformActions == null || transformActions.Any(t => t == null)) { throw new ArgumentNullException(nameof(transformActions), @"No transformer may be null"); } var step = new TransformEtlPipelineStep <TOut>(this, transformActions); PipelineContext.AddStep(step); return(step); }