Packages

package hash

Main package for hash APIs. Import all.

import com.spotify.scio.hash._
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. hash
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. sealed trait ApproxFilter[T] extends Serializable

    An approximate filter for instances of T, e.g.

    An approximate filter for instances of T, e.g. a Bloom filter. A Bloom filter offers an approximate containment test with one-sided error: if it claims that an element is contained in it, this might be in error, but if it claims that an element is not contained in it, then this is definitely true.

  2. sealed trait ApproxFilterCompanion extends AnyRef

    A trait for all ApproxFilter companion objects.

  3. implicit final class ApproxFilterIterable[T] extends AnyVal
  4. implicit final class ApproxFilterSCollection[T] extends AnyVal
  5. class BloomFilter[T] extends ApproxFilter[T]

    An ApproxFilter implementation backed by a Guava BloomFilter.

    An ApproxFilter implementation backed by a Guava BloomFilter.

    Import magnolify.guava.auto._ to get common instances of Guava Funnels.

  6. case class MutableScalableBloomFilter[T](fpProb: Double, headCapacity: Long, growthRate: Int, tighteningRatio: Double, headFPProb: Double, headCount: Long, head: Option[google.common.hash.BloomFilter[T]], tail: List[Either[google.common.hash.BloomFilter[T], SerializedBloomFilters]])(implicit funnel: Funnel[T]) extends Serializable with Product

    T

    The type of objects inserted into the filter

    fpProb

    The desired false positive probability

    headCapacity

    The capacity of the filter at the head of filters

    growthRate

    The growth rate of each subsequent filter added to filters

    tighteningRatio

    The tightening ratio applied to the current fpProb to maintain the false positive probability over the sequence of filters

    headFPProb

    The false positive probability of the head of filters

    headCount

    The number of items currently in the filter at the head of filters

    head

    The underlying bloom filter currently being inserted into, or None if this scalable filter has just been initialized

    tail

    The underlying already-saturated bloom filters, lazily deserialized from bytes as necessary.

    funnel

    The funnel to turn Ts into bytes

  7. case class SerializedBloomFilters(numFilters: Int, filterBytes: Array[Byte]) extends Product with Serializable

Value Members

  1. object BloomFilter extends ApproxFilterCompanion with Serializable

    Companion object for BloomFilter.

  2. object MutableScalableBloomFilter extends Serializable

    A mutable, scalable wrapper around a Guava BloomFilter

    A mutable, scalable wrapper around a Guava BloomFilter

    Scalable bloom filters use a series of bloom filters, adding a new one and scaling its size by growthRate once the previous filter is saturated in order to maintain the desired false positive probability fpProb. A scalable bloom filter contains ("might contain") an item if any of its filters contains the item.

    Import magnolify.guava.auto._ to get common instances of Guava Funnels.

    Not thread-safe.

Inherited from AnyRef

Inherited from Any

Ungrouped