Hi Mark!

CSVGEN creates a class and imports data into it vs a given CSV file or URL which could be done with one line. E.g. here is how to import fameous titanic data into IRIS:

zw ##class(community.csvgen).GenerateFromURL("https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv",",","Data.Titanic)

Or from file:

USER>zw ##class(community.csvgen).Generate("/folder/filename.csv")

And of course, this task could be automated - this is what the Interoperability feature of IRIS for. Check the sample Interoperability production template which periodically loads news from Reddit and filters it upon criteria and writes into files or sends via email.  I bet we have a ton of examples of how to process folders with files, calling @Stefan Wittmann 

In addition to what @Robert Cemper said InterSystems IRIS is much faster than Caché in SQL, it has officially released Docker images, it has IRIS Interoperability and IRIS BI is included and it has Community Edition which gives you the way to develop and evaluate your solution on IRIS  which is less than 10GB without ordering a license.

And IRIS has a Package Manager ZPM which gives you a universal and robust way to deploy your solutions.