The batcher for this store
instances of this trait MAY NOT change the logic here.
For each batch, collect up values with the same key on mapside before the keys are expanded.
This is the monadic version of readLast, returns the BatchID actually on disk
Override this to set up store pruning, by default, no (key,value) pairs are pruned.
Reads the input data after the last batch written.
This combines the current inputs along with the last checkpoint on disk to get a log of all deltas with a timestamp This is useful to leftJoin against a store.
Get the most recent last batch and the ID (strictly less than the input ID) The "Last" is the stream with only the newest value for each key, within the batch combining the last from batchID and the deltas from batchID.
Override select if you don't want to materialize every batch.
This gives the batches needed to cover the requested input This will always be non-empty
For (firstNonZero - 1) we read empty.
Record a computed batch of code