Packages

class BagWriter extends AnyRef

A writer of binary SiLK Bag files.

To include a header in the Bag file that specifies the type of the and counter, run setKeyType() and/or setCounterType() prior to writing the Bag.

Example:
  1. This example reads the contents of "example.bag" and writes it to "copy.bag", where the keys are IP addresses:

    val in = new java.io.FileInputStream("example.bag")
    val out = new java.io.FileOutputStream("copy.bag")
    val bagresult = BagReader.ofInputStream(in)
    val bag = bagresult match {
      case BagResult.IPAddressBag(iter) => iter
      case _ => null
    }
    val writer = BagWriter.toOutputStream(out)
    if ( None != bag.keyType ) {
      writer.setKeyType(bag.keyType)
    }
    if ( None != bag.counterType ) {
      writer.setCounterType(bag.counterType)
    }
    writer.appendIPAddresses(bag)
    writer.close()
See also

the companion object for more details

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BagWriter
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def appendIPAddresses[T <: IPAddress](iter: Iterator[(T, Long)]): Unit

    Iterates over the (key, counter) pairs where each key is an IPAddresses and writes the values to the output stream as a SiLK Bag.

    Iterates over the (key, counter) pairs where each key is an IPAddresses and writes the values to the output stream as a SiLK Bag.

    Expects the IPAddresses in the Iterator to be in sorted order (numerically ascending).

    Expects all IPAddresses in the Iterator to be of the same size; that is, either all are IPv4Address or all are IPv6Address.

    Writes the file's header if it has not been written yet. The type of the key and counter may no longer be changed once this function is called.

    This function may be called successfully multiple times as long as the IPAddresses across the various calls are the same size and are in sorted order.

    Calls to this function may not be mixed with calls to appendIntegers().

  5. def appendIntegers(iter: Iterator[(Int, Long)]): Unit

    Iterates over the (key, counter) pairs where each key is an Int and writes the values to the output stream as a SiLK Bag.

    Iterates over the (key, counter) pairs where each key is an Int and writes the values to the output stream as a SiLK Bag.

    Expects the Ints in the Iterator to be in sorted order (numerically ascending).

    Writes the file's header if it has not been written yet. The type of the key and counter may no longer be changed once this function is called.

    This function may be called successfully multiple times as long as the keys across the various calls are in sorted order.

    Calls to this function may not be mixed with calls to appendIPAddresses().

  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  8. def close(): Unit

    Closes the output stream.

    Closes the output stream.

    Writes the SiLK file header to the output stream if it has not been written, writes any buffered records, closes the output stream, and releases resources.

  9. val compressionMethod: CompressionMethod
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. val hadoopConfig: Option[Configuration]
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. val out: DataOutputStream
  21. def setCounterType(counterType: BagDataType): Unit

    Sets the type of the counter.

    Sets the type of the counter. The value is written into the output stream's header.

    Exceptions thrown

    java.lang.IllegalArgumentException if called after the file's header has been written.

  22. def setKeyType(keyType: BagDataType): Unit

    Sets the type of the key.

    Sets the type of the key. The value is written into the output stream's header.

    Exceptions thrown

    java.lang.IllegalArgumentException if called after the file's header has been written

  23. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  28. def wasHheaderWritten: Boolean

    Whether the Bag file has been written--that is, whether the append() method has been called.

    Whether the Bag file has been written--that is, whether the append() method has been called.

    returns

    true once the append() method has been called

Inherited from AnyRef

Inherited from Any

Ungrouped