Class/Object

mimir.exec.mode

TupleBundle

Related Docs: object TupleBundle | package mode

Permalink

class TupleBundle extends CompileMode[SampleResultIterator] with LazyLogging

TupleBundles ( http://dl.acm.org/citation.cfm?id=1376686 ) are a tactic for computing over probabilistic data. Loosely put, the approach is to compile the query to evaluate simultaneously in N possible worlds. The results can then be aggregated to produce an assortment of statistics, etc...

This class actually wraps three different compilation strategies inspired by tuple bundles, each handling parallelization in a slightly different way

* **Long**: Not technically "TupleBundles". This approach simply unions * together a set of results, one per possible world sampled. * **Flat**: Creates a wide result, splitting each non-deterministic column into a set of columns, one per sample. * **Array**: Like flat, but uses native array types to avoid overpopulating the result schema.

At present, only 'Flat' is fully implemented, although a 'Long'-like approach can be achieved by using convertFlatToLong.

Linear Supertypes
CompileMode[SampleResultIterator], LazyLogging, Logging, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TupleBundle
  2. CompileMode
  3. LazyLogging
  4. Logging
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TupleBundle(seeds: Seq[Long] = 0l until 10l).toSeq)

    Permalink

Type Members

  1. type MetadataT = (Set[String], Seq[String])

    Permalink
    Definition Classes
    TupleBundleCompileMode

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. def apply(db: Database, oper: Operator): SampleResultIterator

    Permalink
    Definition Classes
    CompileMode
  5. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def compileFlat(query: Operator, models: (String) ⇒ Model): (Operator, Set[String])

    Permalink
  8. def convertFlatToLong(compiledQuery: Operator, baseSchema: Seq[String], nonDeterministicInput: Set[String]): Operator

    Permalink
  9. def doesExpressionNeedSplit(expression: Expression, nonDeterministicInputs: Set[String]): Boolean

    Permalink
  10. final def eq(arg0: AnyRef): Boolean

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

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

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

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

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

    Permalink
    Definition Classes
    Any
  16. lazy val logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    LazyLogging → Logging
  17. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  20. def rewrite(db: Database, queryRaw: Operator): (Operator, Seq[String], MetadataT)

    Permalink

    Rewrite the specified operator

    Rewrite the specified operator

    Definition Classes
    TupleBundleCompileMode
  21. def splitExpressionByWorlds(expression: Expression, nonDeterministicInputs: Set[String], models: (String) ⇒ Model): Seq[Expression]

    Permalink
  22. def splitExpressionsByWorlds(expressions: Seq[Expression], nonDeterministicInputs: Set[String], models: (String) ⇒ Model): Seq[Seq[Expression]]

    Permalink
  23. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. def wrap(db: Database, results: ResultIterator, query: Operator, meta: MetadataT): SampleResultIterator

    Permalink

    Wrap a resultset generated for the specified operator with a specific type of resultIterator.

    Wrap a resultset generated for the specified operator with a specific type of resultIterator.

    Definition Classes
    TupleBundleCompileMode

Inherited from LazyLogging

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped