Augment existing dataset
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.6k
- Forks
- 206
- PR merge metrics
- No merged PRs in 30d
Description
🚀 Feature Request
Suppose we create a dataset
compression = 'zstd'
container_name = "foo"
folder = "bar
remote = f'azure://{container_name}/{folder}'
columns = {
"id": "int",
"value": "str",
}
with MDSWriter(out=remote, columns=columns, compression=compression, size_limit=1024*1024*64) as out:
for i in range(100):
# make each sample take 1 MB of space, value should be a string of 1M randomly generated alphanumeric characters
value = ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(1024*1024))
sample = {
"id": i,
"value": value,
}
out.write(sample)
# expect 2 shards
Then later create a second MDSWriter to write data points 101-200 similarly, the second MDSWriter overwrites the existing shards. The preferable thing would be to continue writing new shards as though we had looped through 0-200 originally.
Motivation
Cleaned data comes in piecemeal and it would be nice to be able to just continue augmenting the existing cleaned dataset that's already been turned into a StreamingDataset format. Not sure if this would be particularly tricky or easy to do, or if it already exists and I'm missing a flag somewhere.
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
Start at the MDSWriter entry point and inspect how existing shards are named, discovered, and written for remote outputs such as Azure. Trace any metadata or StreamingDataset assumptions about shard ranges before defining continuation behavior. Done means a second writer preserves the existing shards, appends the new samples into subsequent shards, and has coverage for the 0-200 scenario.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, python
- Domain
- data-engineering
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100