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 handles large and complex projects with ease.
The library targets .NET Standard 2.0 and .NET Framework 4.6.2, which means that your project can target .NET 6.0+, .NET Standard 2.0+, and .NET Framework 4.6.2+.
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 anywhere from limited to extensive .NET programming experience, and equally for .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:
- Common Tasks - an abridged version of the documentation
- Getting Started and following articles - full documentation
- API Documentation