Namespace Wolfgang.Etl.Abstractions
Classes
- ExtractorBase<TSource, TProgress>
Provides a basic implementation for data extractors that extract data of type TSource. Library authors can use this base class to create custom extractors by inheriting from it and implementing ExtractWorkerAsync and CreateProgressReport methods.
- LoaderBase<TDestination, TProgress>
Provides a basic implementation for data loaders that write data of type TDestination to a target destination. Library authors can use this base class to create custom loaders by inheriting from it and implementing LoadWorkerAsync and CreateProgressReport methods.
- Pipeline
Entry point for building a fluent ETL pipeline. Start with one of the
Extractoverloads, chain zero or moreTransformcalls, terminate with one of theLoadoverloads, then invoke RunAsync().
- Report
Provides a report of the current item count in an ETL process.
- TransformerBase<TSource, TDestination, TProgress>
Provides a basic implementation for data transformers that convert data from TSource to TDestination. Library authors can use this base class to create custom transformers by inheriting from it and implementing TransformWorkerAsync and CreateProgressReport methods.
Interfaces
- IExtractAsync<TSource>
Defines an asynchronous extractor interface for extracting data of type T. A class implementing this interface is intended to be the first step in an ETL (Extract, Transform, Load) process.
- IExtractStageWithProgress<TSource, TProgress>
An IExtractStage<TSource> whose underlying extractor also supports progress reporting. Call WithProgress(IProgress<TProgress>) to supply an IProgress<T> sink that will be forwarded to the extractor's
ExtractAsyncoverload when the pipeline runs.
- IExtractStage<TSource>
Represents the extractor stage of a fluent ETL pipeline for items of type
TSource. Call one of theTransformoverloads to append a transformer, or one of theLoadoverloads to terminate the chain with a loader.
- IExtractWithCancellationAsync<TSource>
Defines an asynchronous extractor interface for extracting data of type T. A class implementing this interface is intended to be the first step in an ETL (Extract, Transform, Load) process.
- IExtractWithProgressAndCancellationAsync<TSource, TProgress>
Defines an asynchronous extractor interface for extracting data of type T. A class implementing this interface is intended to be the first step in an ETL (Extract, Transform, Load) process.
- IExtractWithProgressAsync<TSource, TProgress>
Defines an asynchronous extractor interface for extracting data of type T. A class implementing this interface is intended to be the first step in an ETL (Extract, Transform, Load) process.
- ILoadAsync<TDestination>
Defines an asynchronous loader interface for loading data of type T. A class implementing this interface is intended to be the last step in an ETL (Extract, Transform, Load) process.
- ILoadWithCancellationAsync<TDestination>
Defines an asynchronous loader interface for loading data of type T. A class implementing this interface is intended to be the last step in an ETL (Extract, Transform, Load) process.
- ILoadWithProgressAndCancellationAsync<TDestination, TProgress>
Defines an asynchronous loader interface for loading data of type T. A class implementing this interface is intended to be the last step in an ETL (Extract, Transform, Load) process.
- ILoadWithProgressAsync<TDestination, TProgress>
Defines an asynchronous loader interface for loading data of type T. A class implementing this interface is intended to be the last step in an ETL (Extract, Transform, Load) process.
- IPipeline
A terminated, runnable ETL pipeline. Obtained from an IExtractStage<TSource> or ITransformStage<TSource>
Loadoverload.
- IPipelineWithLoadProgress<TProgress>
An IPipeline whose loader supports progress reporting. Call WithProgress(IProgress<TProgress>) to supply an IProgress<T> sink that will be forwarded to the loader's
LoadAsyncoverload when the pipeline runs.
- IProgressTimer
Represents a timer that raises Elapsed at a regular interval, used by extractor, transformer, and loader base classes to drive progress callbacks.
- ITransformAsync<TSource, TDestination>
Defines an asynchronous transformer interface for transforming data of type T to TResult. A class implementing this interface is intended to be the second step in an ETL (Extract, Transform, Load) process.
- ITransformStageWithProgress<TSource, TProgress>
An ITransformStage<TSource> whose underlying transformer also supports progress reporting. Call WithProgress(IProgress<TProgress>) to supply an IProgress<T> sink that will be forwarded to the transformer's
TransformAsyncoverload when the pipeline runs.
- ITransformStage<TSource>
Represents a mid-chain stage of a fluent ETL pipeline whose current item type is
TSource. Call one of theTransformoverloads to append another transformer, or one of theLoadoverloads to terminate the chain.
- ITransformWithCancellationAsync<TSource, TDestination>
Defines an asynchronous transformer interface for transforming data of type T to TResult. A class implementing this interface is intended to be the second step in an ETL (Extract, Transform, Load) process.
- ITransformWithProgressAndCancellationAsync<TSource, TDestination, TProgress>
Defines an asynchronous transformer interface for transforming data of type T to TResult. A class implementing this interface is intended to be the second step in an ETL (Extract, Transform, Load) process.
- ITransformWithProgressAsync<TSource, TDestination, TProgress>
Defines an asynchronous transformer interface for transforming data of type T to TResult. A class implementing this interface is intended to be the second step in an ETL (Extract, Transform, Load) process.