actionETL Overview
actionETL is a cross-platform, high performance and highly productive .NET library and NuGet package for easily writing ETL (Extract, Transform, Load) data processing applications in .Net languages such as C# and VB.
It supports both on-premises and cloud deployments (including Azure SQL, Azure PostgreSQL, etc., as well as other cloud platforms), and is well-suited to both small and truly large and complex projects.
The library targets .NET Standard 2.0 and .NET Framework 4.6.1, which means that your project can target .NET Core 2.1+, .NET 5+, .NET Standard 2.0+, and .NET Framework 4.6.1+.
You can reference and call the library from your existing application, or use it to
create and run a new executable, e.g. a console program, on Windows and Linux.
dotnet new
project templates makes it easy to get up and
running.
Note
actionETL has a completely free Community edition, as well as trial and commercial editions.
actionETL combines the best of the ETL mindset with the tools and techniques of modern application development. It is suitable for ETL developers with limited as well as extensive .NET programming experience, and equally for full-time .NET developers that have ETL requirements.
Example
Small applications such as this example are obviously easy to create in most tools:
Here is the corresponding actionETL source code:
new WorkerSystem()
.Root(root =>
{
var mfw = new MoveFileWorker(root, "Move CSV", _sourceFileName, _processFileName);
_ = new ActionWorker(root, "Group", () => mfw.IsSucceeded, aw =>
{
_ = new ExecuteProcessWorker(aw, "Update Timestamps", _executableFileName);
new FileHelperFileSource<Category>(aw, "Read CSV", _processFileName)
.Output.Link.AdbInsertTarget("Insert"
, provider.CreateConnectionBuilder(root.Config["SqlServer"])
, "dbo.Category");
});
})
.Start()
.ThrowOnFailure();
Crucially, actionETL also makes it easy to create and maintain high performance ETL applications that handle truly large and complex requirements:
With excellent reusability and composability, actionETL required 23 times less C# code (9kB) in this example to create a high performance and reusable custom Slowly Changing Dimension (SCD) worker, vs. similar functionality implemented in one particular traditional ETL tool (209kB).
Next Steps
Please see the features list, and continue with Getting Started and related articles. Also see the API Documentation.