crunch-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dave Beech (JIRA)" <>
Subject [jira] [Commented] (CRUNCH-218) Add new Target.WriteMode to skip the write and continue pipeline if an output target exists
Date Thu, 13 Jun 2013 11:59:21 GMT


Dave Beech commented on CRUNCH-218:

Gabriel - true, the ideal solution looks like it incorporates your comments and Josh's patch.
I'd previously asked about your point on the mailing list (
The workaround of putting '' calls in the right place was fine for me. It would
be great if Crunch could work out when to do this so I could leave out these explicit calls
but it's not that important. 

Agree with your comments about stale data. I hadn't considered it because in my own use-case
the input and output directories are date-stamped, so I've either processed that day's data
or I haven't. It would be a useful addition to the checkpointing feature though. 
> Add new Target.WriteMode to skip the write and continue pipeline if an output target
> -------------------------------------------------------------------------------------------
>                 Key: CRUNCH-218
>                 URL:
>             Project: Crunch
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.6.0
>            Reporter: Dave Beech
>            Assignee: Josh Wills
>            Priority: Minor
>         Attachments: CRUNCH-218b.patch, CRUNCH-218.patch
> Quite often I write pipelines which persist data to the filesystem midway through the
process, and then carry on doing further work. 
> If this intermediate data is already present, I think it would be good if I could set
a write mode which skips over this first half of processing. This way I'd avoid running jobs
unnecessarily and wasting cluster resources regenerating data I already have. 
> Example:
> PCollection<B> inter =;
> inter.write(At.sequenceFile('output'), WriteMode.SKIP_IF_EXISTS);
> PCollection<C> final = inter.parallelDo(moreWork);

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message