com.twitter.algebird

QTreeAggregator

case class QTreeAggregator[T](percentile: Double, k: Int = QTreeAggregator.DefaultK)(implicit num: Numeric[T]) extends Aggregator[T, QTree[Unit], Intersection[InclusiveLower, InclusiveUpper, Double]] with QTreeAggregatorLike[T] with Product with Serializable

QTree aggregator is an aggregator that can be used to find the approximate percentile bounds. The items that are iterated over to produce this approximation cannot be negative. Returns an Intersection which represents the bounded approximation.

Linear Supertypes
Serializable, Product, Equals, QTreeAggregatorLike[T], Aggregator[T, QTree[Unit], Intersection[InclusiveLower, InclusiveUpper, Double]], Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. QTreeAggregator
  2. Serializable
  3. Product
  4. Equals
  5. QTreeAggregatorLike
  6. Aggregator
  7. Serializable
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new QTreeAggregator(percentile: Double, k: Int = QTreeAggregator.DefaultK)(implicit num: Numeric[T])

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. def andThenPresent[D](present2: (Intersection[InclusiveLower, InclusiveUpper, Double]) ⇒ D): Aggregator[T, QTree[Unit], D]

    Like calling andThen on the present function

    Like calling andThen on the present function

    Definition Classes
    Aggregator
  7. def append(l: QTree[Unit], r: T): QTree[Unit]

    Definition Classes
    Aggregator
  8. def appendAll(old: QTree[Unit], items: TraversableOnce[T]): QTree[Unit]

    Definition Classes
    Aggregator
  9. def apply(inputs: TraversableOnce[T]): Intersection[InclusiveLower, InclusiveUpper, Double]

    This may error if inputs are empty (for Monoid Aggregators it never will, instead you see present(Monoid.

    This may error if inputs are empty (for Monoid Aggregators it never will, instead you see present(Monoid.zero[B])

    Definition Classes
    Aggregator
  10. def applyCumulatively[In <: TraversableOnce[T], Out](inputs: In)(implicit bf: CanBuildFrom[In, Intersection[InclusiveLower, InclusiveUpper, Double], Out]): Out

    This returns the cumulative sum of its inputs, in the same order.

    This returns the cumulative sum of its inputs, in the same order. If the inputs are empty, the result will be empty too.

    Definition Classes
    Aggregator
  11. def applyOption(inputs: TraversableOnce[T]): Option[Intersection[InclusiveLower, InclusiveUpper, Double]]

    This returns None if the inputs are empty

    This returns None if the inputs are empty

    Definition Classes
    Aggregator
  12. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  13. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  14. def composePrepare[A1](prepare2: (A1) ⇒ T): Aggregator[A1, QTree[Unit], Intersection[InclusiveLower, InclusiveUpper, Double]]

    Like calling compose on the prepare function

    Like calling compose on the prepare function

    Definition Classes
    Aggregator
  15. def cumulativeIterator(inputs: Iterator[T]): Iterator[Intersection[InclusiveLower, InclusiveUpper, Double]]

    This returns the cumulative sum of its inputs, in the same order.

    This returns the cumulative sum of its inputs, in the same order. If the inputs are empty, the result will be empty too.

    Definition Classes
    Aggregator
  16. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  17. def finalize(): Unit

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

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

    Definition Classes
    Any
  20. def join[A2 <: T, B2, C2](that: Aggregator[A2, B2, C2]): Aggregator[A2, (QTree[Unit], B2), (Intersection[InclusiveLower, InclusiveUpper, Double], C2)]

    This allows you to run two aggregators on the same data with a single pass

    This allows you to run two aggregators on the same data with a single pass

    Definition Classes
    Aggregator
  21. val k: Int

    This is the depth parameter for the QTreeSemigroup

    This is the depth parameter for the QTreeSemigroup

    Definition Classes
    QTreeAggregatorQTreeAggregatorLike
  22. def level: Int

    We convert T to a Double, then the Double is converted to a Long by using a 2^level bucket size.

    We convert T to a Double, then the Double is converted to a Long by using a 2^level bucket size.

    Definition Classes
    QTreeAggregatorLike
  23. def lift: MonoidAggregator[T, Option[QTree[Unit]], Option[Intersection[InclusiveLower, InclusiveUpper, Double]]]

    Definition Classes
    Aggregator
  24. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  27. implicit val num: Numeric[T]

    Definition Classes
    QTreeAggregatorQTreeAggregatorLike
  28. val percentile: Double

    Definition Classes
    QTreeAggregatorQTreeAggregatorLike
  29. def prepare(input: T): QTree[Unit]

    Definition Classes
    QTreeAggregatorLike
  30. def present(qt: QTree[Unit]): Intersection[InclusiveLower, InclusiveUpper, Double]

    Definition Classes
    QTreeAggregatorAggregator
  31. def reduce(items: TraversableOnce[QTree[Unit]]): QTree[Unit]

    This may error if items is empty.

    This may error if items is empty. To be safe you might use reduceOption if you don't know that items is non-empty

    Definition Classes
    Aggregator
  32. def reduce(l: QTree[Unit], r: QTree[Unit]): QTree[Unit]

    combine two inner values

    combine two inner values

    Definition Classes
    Aggregator
  33. def reduceOption(items: TraversableOnce[QTree[Unit]]): Option[QTree[Unit]]

    This is the safe version of the above.

    This is the safe version of the above. If the input in empty, return None, else reduce the items

    Definition Classes
    Aggregator
  34. def semigroup: QTreeSemigroup[Unit]

    Definition Classes
    QTreeAggregatorLike
  35. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  36. def toFold: Fold[T, Option[Intersection[InclusiveLower, InclusiveUpper, Double]]]

    An Aggregator can be converted to a Fold, but not vice-versa Note, a Fold is more constrained so only do this if you require joining a Fold with an Aggregator to produce a Fold

    An Aggregator can be converted to a Fold, but not vice-versa Note, a Fold is more constrained so only do this if you require joining a Fold with an Aggregator to produce a Fold

    Definition Classes
    Aggregator
  37. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. def zip[A2, B2, C2](ag2: Aggregator[A2, B2, C2]): Aggregator[(T, A2), (QTree[Unit], B2), (Intersection[InclusiveLower, InclusiveUpper, Double], C2)]

    This allows you to join two aggregators into one that takes a tuple input, which in turn allows you to chain .

    This allows you to join two aggregators into one that takes a tuple input, which in turn allows you to chain .composePrepare onto the result if you have an initial input that has to be prepared differently for each of the joined aggregators.

    The law here is: ag1.zip(ag2).apply(as.zip(bs)) == (ag1(as), ag2(bs))

    Definition Classes
    Aggregator

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from QTreeAggregatorLike[T]

Inherited from Aggregator[T, QTree[Unit], Intersection[InclusiveLower, InclusiveUpper, Double]]

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped