Trait/Object

com.intenthq.pucket.writer

PartitionedWriterFunctions

Related Docs: object PartitionedWriterFunctions | package writer

Permalink

trait PartitionedWriterFunctions[T, Ex, ImplementingType] extends AnyRef

Partitioned writer mixin provides partitioning to a writer type

Overview

This trait provides common partitioning functions to implementing classes. It maintains a cache of open writer instances with a configurable size.

T

type of data to be written

Ex

type of error

ImplementingType

implementing type to be used when creating new instances

Self Type
PartitionedWriterFunctions[T, Ex, ImplementingType] with Writer[T, Ex]
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PartitionedWriterFunctions
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def newInstance(writers: Writers[T, Ex]): ImplementingType

    Permalink

    Create a new instance of the partitioned writer

    Create a new instance of the partitioned writer

    writers

    new writer cache state to be included in the new instance

    returns

    a new instance of a partitioned writer with the new state

  2. abstract def newWriter(partition: Path, checkPoint: Long): \/[Ex, Writer[T, Ex]]

    Permalink

    Obtain a new writer for a partition

    Obtain a new writer for a partition

    partition

    the pucket instance for the partition

    checkPoint

    the current checkpoint

    returns

    a new writer for the partition or an error

  3. abstract def pucket: Pucket[T]

    Permalink
  4. abstract def writerCacheSize: Int

    Permalink
  5. abstract def writers: Writers[T, Ex]

    Permalink

Concrete Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

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

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

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

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

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

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

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  16. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. def write(data: T, checkPoint: Long): \/[Ex, ImplementingType]

    Permalink

    Write data to a partition Finds a writer in the cache or creates a new one then submits the writer back to the cache

    Write data to a partition Finds a writer in the cache or creates a new one then submits the writer back to the cache

    data

    the data to be written

    checkPoint

    the current checkpoint to be passed to the underlying writer

    returns

    a new instance of the partitioned writer complete with new state

  21. def writerCache(partitionId: Path, writer: Writer[T, Ex]): \/[Ex, Writers[T, Ex]]

    Permalink

    <invalid inheritdoc annotation>

  22. def writerCache(partitionId: String, writer: Writer[T, Ex]): \/[Ex, Writers[T, Ex]]

    Permalink

    Add a new writer to the cache Will update an existing writer if one for the same partition already exists in cache.

    Add a new writer to the cache Will update an existing writer if one for the same partition already exists in cache.

    If a new writer needs to be cached and the cache is full, the oldest one in the cache will be closed and evicted.

    partitionId

    pucket identifier to use as a key in the cache

    writer

    the writer instance to be cached

Inherited from AnyRef

Inherited from Any

Ungrouped