I'm curious about how is a user of Singer supposed to perform transformations on data (e.g. aggregate records)?
Should they code something, to be plugged between taps and targets?
Do you intend to include such transforms in your solution?
Should they code something, to be plugged between taps and targets?
Do you intend to include such transforms in your solution?
However, since Singer is built around piping data between applications, your suggestion - to code something that sits between taps and targets - makes perfect sense. The whole "flow" would look like:
$ tap-mydatasource | do-aggregations | target-mytarget
We'd be eager to hear from anyone who tries this approach!