redpanda-data / redpanda-data/benthos
Scanner support for zip archives containing multiple files
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 571
- Forks
- 120
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 18
Description
Had the following exchange in the Redpanda Community Slack, where we (@mihaitodor, realistically) realized that the existing scanners don't support zip archives containing multiple files.
In case it helps, just to break down a use case: I'm grabbing a data dump a few times per day via SFTP that has a bunch of CSV files. It's pretty sizeable, so opening everything in memory (as @mihaitodor pointed out I can already do with the unarchive processor) is pretty expensive (memory-wise, I mean).
This is my first time using benthos/redpanda connect, but I'm assuming that this hypothetical scanner will need to either add some metadata to each line/message to indicate which file it's coming from or otherwise allow me to batch them in a way that I can tell which is which for subsequent processing.
If there's any way I can be of assistance, please let me know.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files, tests, or entry points are named. Start by locating the existing scanners and the unarchive processor, then review how scanner outputs represent archive contents and whether multi-file input is supported. Done should mean zip archives with multiple CSV files can be scanned without loading the full archive into memory and their source files remain distinguishable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100