com.twitter.scalding.typed

TypedPipeInst

final case class TypedPipeInst[T](inpipe: Pipe, fields: Fields, flatMapFn: FlatMapFn[T]) extends TypedPipe[T] with Product with Serializable

This is an instance of a TypedPipe that wraps a cascading Pipe

Linear Supertypes
Serializable, Product, Equals, TypedPipe[T], Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. TypedPipeInst
  2. Serializable
  3. Product
  4. Equals
  5. TypedPipe
  6. Serializable
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TypedPipeInst(inpipe: Pipe, fields: Fields, flatMapFn: FlatMapFn[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. def ++[U >: T](other: TypedPipe[U]): TypedPipe[U]

    Definition Classes
    TypedPipe
  5. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  6. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  7. def aggregate[B, C](agg: Aggregator[T, B, C]): ValuePipe[C]

    Same as groupAll.

    Same as groupAll.aggregate.values

    Definition Classes
    TypedPipe
  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def collect[U](fn: PartialFunction[T, U]): TypedPipe[U]

    Definition Classes
    TypedPipe
  11. def cross[U](tiny: TypedPipe[U]): TypedPipe[(T, U)]

    Definition Classes
    TypedPipeInstTypedPipe
  12. def cross[V](p: ValuePipe[V]): TypedPipe[(T, V)]

    Definition Classes
    TypedPipe
  13. def debug: TypedPipe[T]

    Definition Classes
    TypedPipeInstTypedPipe
  14. def distinct(implicit ord: Ordering[_ >: T]): TypedPipe[T]

    Returns the set of distinct elements in the TypedPipe

    Returns the set of distinct elements in the TypedPipe

    Definition Classes
    TypedPipe
    Annotations
    @implicitNotFound( ... )
  15. def either[R](that: TypedPipe[R]): TypedPipe[Either[T, R]]

    Definition Classes
    TypedPipe
  16. def eitherValues[K, V, R](that: TypedPipe[(K, R)])(implicit ev: <:<[T, (K, V)]): TypedPipe[(K, Either[V, R])]

    Sometimes useful for implementing custom joins with groupBy + mapValueStream when you know that the value/key can fit in memory.

    Sometimes useful for implementing custom joins with groupBy + mapValueStream when you know that the value/key can fit in memory. Beware.

    Definition Classes
    TypedPipe
  17. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  18. val fields: Fields

  19. def filter(f: (T) ⇒ Boolean): TypedPipe[T]

    Keep only items that satisfy this predicate

    Keep only items that satisfy this predicate

    Definition Classes
    TypedPipeInstTypedPipe
  20. def filterKeys[K](fn: (K) ⇒ Boolean)(implicit ev: <:<[T, (K, Any)]): TypedPipe[T]

    If T is a (K, V) for some V, then we can use this function to filter.

    If T is a (K, V) for some V, then we can use this function to filter. This is here to match the function in KeyedListLike, where it is optimized

    Definition Classes
    TypedPipe
  21. def filterNot(f: (T) ⇒ Boolean): TypedPipe[T]

    Keep only items that don't satisfy the predicate.

    Keep only items that don't satisfy the predicate. filterNot is the same as filter with a negated predicate.

    Definition Classes
    TypedPipe
  22. def filterWithValue[U](value: ValuePipe[U])(f: (T, Option[U]) ⇒ Boolean): TypedPipe[T]

    Definition Classes
    TypedPipe
  23. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. def flatMap[U](f: (T) ⇒ TraversableOnce[U]): TypedPipe[U]

    Definition Classes
    TypedPipeInstTypedPipe
  25. val flatMapFn: FlatMapFn[T]

  26. def flatMapWithValue[U, V](value: ValuePipe[U])(f: (T, Option[U]) ⇒ TraversableOnce[V]): TypedPipe[V]

    Definition Classes
    TypedPipe
  27. def flatten[U](implicit ev: <:<[T, TraversableOnce[U]]): TypedPipe[U]

    flatten an Iterable

    flatten an Iterable

    Definition Classes
    TypedPipe
  28. lazy val forceToDisk: TypedPipe[T]

    Force a materialization of this pipe prior to the next operation.

    Force a materialization of this pipe prior to the next operation. This is useful if you filter almost everything before a hashJoin, for instance.

    Definition Classes
    TypedPipeInstTypedPipe
  29. def fork: TypedPipe[T]

    If you are going to create two branches or forks, it may be more efficient to call this method first which will create a node in the cascading graph.

    If you are going to create two branches or forks, it may be more efficient to call this method first which will create a node in the cascading graph. Without this, both full branches of the fork will be put into separate cascading.

    Ideally the planner would see this

    Definition Classes
    TypedPipeInstTypedPipe
  30. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  31. def group[K, V](implicit ev: <:<[T, (K, V)], ord: Ordering[K]): Grouped[K, V]

    Definition Classes
    TypedPipe
  32. def groupAll: Grouped[Unit, T]

    Definition Classes
    TypedPipe
  33. def groupBy[K](g: (T) ⇒ K)(implicit ord: Ordering[K]): Grouped[K, T]

    Definition Classes
    TypedPipe
  34. def groupRandomly(partitions: Int): Grouped[Int, T]

    Forces a shuffle by randomly assigning each item into one of the partitions.

    Forces a shuffle by randomly assigning each item into one of the partitions.

    This is for the case where you mappers take a long time, and it is faster to shuffle them to more reducers and then operate.

    You probably want shard if you are just forcing a shuffle.

    Definition Classes
    TypedPipe
  35. def hashCogroup[K, V, W, R](smaller: HashJoinable[K, W])(joiner: (K, V, Iterable[W]) ⇒ Iterator[R])(implicit ev: <:<[TypedPipe[T], TypedPipe[(K, V)]]): TypedPipe[(K, R)]

    These operations look like joins, but they do not force any communication of the current TypedPipe.

    These operations look like joins, but they do not force any communication of the current TypedPipe. They are mapping operations where this pipe is streamed through one item at a time.

    WARNING These behave semantically very differently than cogroup. This is because we handle (K,V) tuples on the left as we see them. The iterable on the right is over all elements with a matching key K, and it may be empty if there are no values for this key K.

    Definition Classes
    TypedPipe
  36. def hashJoin[K, V, W](smaller: HashJoinable[K, W])(implicit ev: <:<[TypedPipe[T], TypedPipe[(K, V)]]): TypedPipe[(K, (V, W))]

    Definition Classes
    TypedPipe
  37. def hashLeftJoin[K, V, W](smaller: HashJoinable[K, W])(implicit ev: <:<[TypedPipe[T], TypedPipe[(K, V)]]): TypedPipe[(K, (V, Option[W]))]

    Definition Classes
    TypedPipe
  38. def hashLookup[K >: T, V](grouped: HashJoinable[K, V]): TypedPipe[(K, Option[V])]

    For each element, do a map-side (hash) left join to look up a value

    For each element, do a map-side (hash) left join to look up a value

    Definition Classes
    TypedPipe
  39. val inpipe: Pipe

  40. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  41. def keys[K](implicit ev: <:<[T, Tuple2[K, _]]): TypedPipe[K]

    Definition Classes
    TypedPipe
  42. def leftCross[V](thatPipe: TypedPipe[V]): TypedPipe[(T, Option[V])]

    Definition Classes
    TypedPipe
  43. def leftCross[V](p: ValuePipe[V]): TypedPipe[(T, Option[V])]

    Definition Classes
    TypedPipe
  44. def limit(count: Int): TypedPipe[T]

    limit the output to at most count items.

    limit the output to at most count items. useful for debugging, but probably that's about it. The number may be less than count, and not sampled particular method

    Definition Classes
    TypedPipeInstTypedPipe
  45. def map[U](f: (T) ⇒ U): TypedPipe[U]

    Definition Classes
    TypedPipeInstTypedPipe
  46. def mapValues[K, V, U](f: (V) ⇒ U)(implicit ev: <:<[T, (K, V)]): TypedPipe[(K, U)]

    Definition Classes
    TypedPipe
  47. def mapWithValue[U, V](value: ValuePipe[U])(f: (T, Option[U]) ⇒ V): TypedPipe[V]

    Definition Classes
    TypedPipe
  48. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  51. lazy val pipe: Pipe

    Attributes
    protected
  52. def sample(percent: Double, seed: Long): TypedPipe[T]

    Definition Classes
    TypedPipeInstTypedPipe
  53. def sample(percent: Double): TypedPipe[T]

    Definition Classes
    TypedPipeInstTypedPipe
  54. def shard(partitions: Int): TypedPipe[T]

    Used to force a shuffle into a given size of nodes.

    Used to force a shuffle into a given size of nodes. Only use this if your mappers are taking far longer than the time to shuffle.

    Definition Classes
    TypedPipe
  55. def sketch[K, V](reducers: Int, eps: Double = 1.0E-5, delta: Double = 0.01, seed: Int = 12345)(implicit ev: <:<[TypedPipe[T], TypedPipe[(K, V)]], serialization: (K) ⇒ Array[Byte], ordering: Ordering[K]): Sketched[K, V]

    Definition Classes
    TypedPipe
  56. def sum[U >: T](implicit plus: Semigroup[U]): ValuePipe[U]

    Reasonably common shortcut for cases of associative/commutative reduction returns a typed pipe with only one element.

    Reasonably common shortcut for cases of associative/commutative reduction returns a typed pipe with only one element.

    Definition Classes
    TypedPipe
  57. def sumByKey[K, V](implicit ev: <:<[T, (K, V)], ord: Ordering[K], plus: Semigroup[V]): TypedPipe[(K, V)]

    Reasonably common shortcut for cases of associative/commutative reduction by Key

    Reasonably common shortcut for cases of associative/commutative reduction by Key

    Definition Classes
    TypedPipe
  58. def sumByLocalKeys[K, V](implicit ev: <:<[T, (K, V)], sg: Semigroup[V]): TypedPipe[(K, V)]

    This does a sum of values WITHOUT triggering a shuffle.

    This does a sum of values WITHOUT triggering a shuffle. the contract is, if followed by a group.sum the result is the same with or without this present, and it never increases the number of items. BUT due to the cost of caching, it might not be faster if there is poor key locality.

    It is only useful for expert tuning, and best avoided unless you are struggling with performance problems. If you are not sure you need this, you probably don't.

    The main use case is to reduce the values down before a key expansion such as is often done in a data cube.

    Definition Classes
    TypedPipeInstTypedPipe
  59. def swap[K, V](implicit ev: <:<[T, (K, V)]): TypedPipe[(V, K)]

    Definition Classes
    TypedPipe
  60. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  61. def toPipe[U >: T](fieldNames: Fields)(implicit setter: TupleSetter[U]): Pipe

    This actually runs all the pure map functions in one Cascading Each This approach is more efficient than untyped scalding because we don't use TupleConverters/Setters after each map.

    This actually runs all the pure map functions in one Cascading Each This approach is more efficient than untyped scalding because we don't use TupleConverters/Setters after each map.

    Definition Classes
    TypedPipeInstTypedPipe
  62. def unpackToPipe[U >: T](fieldNames: Fields)(implicit up: TupleUnpacker[U]): Pipe

    Definition Classes
    TypedPipe
  63. def values[V](implicit ev: <:<[T, Tuple2[_, V]]): TypedPipe[V]

    Definition Classes
    TypedPipe
  64. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  67. def write(dest: TypedSink[T])(implicit flowDef: FlowDef, mode: Mode): TypedPipe[T]

    Safely write to a TypedSink[T].

    Safely write to a TypedSink[T]. If you want to write to a Source (not a Sink) you need to do something like: toPipe(fieldNames).write(dest)

    returns

    a pipe equivalent to the current pipe.

    Definition Classes
    TypedPipe

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from TypedPipe[T]

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped