com.twitter.summingbird.scalding.store

VersionedBatchStoreBase

abstract class VersionedBatchStoreBase[K, V] extends BatchedStore[K, V]

Allows subclasses to share the means of reading version numbers but plug in methods to actually read or write the data.

Source
VersionedBatchStore.scala
Linear Supertypes
BatchedStore[K, V], Store[K, V], Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. VersionedBatchStoreBase
  2. BatchedStore
  3. Store
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new VersionedBatchStoreBase(rootPath: String)

Abstract Value Members

  1. abstract def batcher: Batcher

    The batcher for this store

    The batcher for this store

    Definition Classes
    BatchedStore
  2. implicit abstract def ordering: Ordering[K]

    Definition Classes
    BatchedStore
  3. abstract def readVersion(v: Long): FlowProducer[TypedPipe[(K, V)]]

    Attributes
    protected
  4. abstract def writeLast(batchID: BatchID, lastVals: TypedPipe[(K, V)])(implicit flowDef: FlowDef, mode: Mode): Unit

    Record a computed batch of code

    Record a computed batch of code

    Definition Classes
    BatchedStore

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def batchIDToVersion(b: BatchID): Long

    These functions convert back and forth between a specific BatchID and the earliest time of the BatchID just after it.

    These functions convert back and forth between a specific BatchID and the earliest time of the BatchID just after it.

    The version numbers are the exclusive upper-bound of time covered by this store, while the batchIDs are the inclusive upper bound. Put another way, all events that occured before the version are included in this store.

  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  14. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  15. def lastBatch(exclusiveUB: BatchID, mode: Hdfs): Option[(BatchID, FlowProducer[TypedPipe[(K, V)]])]

    Attributes
    protected
  16. final def merge(delta: PipeFactory[(K, V)], sg: Semigroup[V], commutativity: Commutativity, reducers: Int): PipeFactory[(K, (Option[V], V))]

    instances of this trait MAY NOT change the logic here.

    instances of this trait MAY NOT change the logic here. This always follows the rule that we look for existing data (avoiding reading deltas in that case), then we fall back to the last checkpointed output by calling readLast. In that case, we compute the results by rolling forward

    Definition Classes
    BatchedStoreStore
  17. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  20. def partialMerge[K1](delta: PipeFactory[(K1, V)], sg: Semigroup[V], commutativity: Commutativity): PipeFactory[(K1, V)]

    For each batch, collect up values with the same key on mapside before the keys are expanded.

    For each batch, collect up values with the same key on mapside before the keys are expanded.

    Definition Classes
    BatchedStoreStore
  21. final def planReadLast: PlannerOutput[(BatchID, FlowProducer[TypedPipe[(K, V)]])]

    This is the monadic version of readLast, returns the BatchID actually on disk

    This is the monadic version of readLast, returns the BatchID actually on disk

    Definition Classes
    BatchedStore
  22. def pruning: PrunedSpace[(K, V)]

    Override this to set up store pruning, by default, no (key,value) pairs are pruned.

    Override this to set up store pruning, by default, no (key,value) pairs are pruned. This is a house keeping function to permanently remove entries matching a criteria.

    Definition Classes
    BatchedStore
  23. final def readAfterLastBatch[T](input: PipeFactory[T]): PlannerOutput[(BatchID, FlowProducer[TypedPipe[(K, V)]], FlowToPipe[T])]

    Reads the input data after the last batch written.

    Reads the input data after the last batch written.

    Returns: - the BatchID of the last batch written - the snapshot of the store just before this state - the data from this input covering all the time SINCE the last snapshot

    Definition Classes
    BatchedStore
  24. def readDeltaLog(delta: PipeFactory[(K, V)]): PipeFactory[(K, V)]

    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.

    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. TODO: This should not limit to batch boundaries, the batch store should handle only writing the data for full batches, but we can materialize more data if it is needed downstream. Note: the returned time interval NOT include the time of the snapshot data point (which is exactly 1 millisecond before the start of the interval).

    Definition Classes
    BatchedStore
  25. def readLast(exclusiveUB: BatchID, mode: Mode): Try[(BatchID, FlowProducer[TypedPipe[(K, V)]])]

    Returns a snapshot of the store's (K, V) pairs aggregated up to (but not including!) the time covered by the supplied batchID.

    Returns a snapshot of the store's (K, V) pairs aggregated up to (but not including!) the time covered by the supplied batchID.

    Aggregating the readLast for a particular batchID with the stream stored for the same batchID will return the aggregate up to (but not including) batchID.next. Streams deal with inclusive upper bound.

    Definition Classes
    VersionedBatchStoreBaseBatchedStore
  26. val rootPath: String

  27. def select(b: List[BatchID]): List[BatchID]

    Override select if you don't want to materialize every batch.

    Override select if you don't want to materialize every batch. Note that select MUST return a list containing the final batch in the supplied list; otherwise data would be lost.

    Definition Classes
    BatchedStore
  28. def sumByBatches[K1, V](ins: TypedPipe[(Timestamp, (K1, V))], capturedBatcher: Batcher, commutativity: Commutativity)(implicit arg0: Semigroup[V]): TypedPipe[((K1, BatchID), (Timestamp, V))]

    Attributes
    protected
    Definition Classes
    BatchedStore
  29. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  30. final def timeSpanToBatches: PlannerOutput[List[BatchID]]

    This gives the batches needed to cover the requested input This will always be non-empty

    This gives the batches needed to cover the requested input This will always be non-empty

    Definition Classes
    BatchedStore
  31. def toString(): String

    Definition Classes
    AnyRef → Any
  32. def versionToBatchID(ver: Long): BatchID

  33. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. def withInitialBatch(firstNonZero: BatchID): BatchedStore[K, V]

    For (firstNonZero - 1) we read empty.

    For (firstNonZero - 1) we read empty. For all before we error on read. For all later, we proxy On write, we throw if batchID is less than firstNonZero

    Definition Classes
    BatchedStore

Inherited from BatchedStore[K, V]

Inherited from Store[K, V]

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped