Best DB structure for large CSVs?
Frankly, I probably wouldn't use a database in the first place.  It doesn't sound like you have any need for ACID, which is one the main things which databases provide and which doesn't come cheap in terms of performance.  Nor does it sound like you need complicated indexes.

What I would do (and have done, an awful lot) is just loop over the files with Perl or Python and use their built-in hash table features to generate your aggregates.  Since you have specified that the output is small, you should have little problem holding the intermediate aggregation state in memory for the duration.