Trait/Object

com.spotify.scio.values

SCollection

Related Docs: object SCollection | package values

Permalink

sealed trait SCollection[T] extends PCollectionWrapper[T]

A Scala wrapper for PCollection. Represents an immutable, partitioned collection of elements that can be operated on in parallel. This class contains the basic operations available on all SCollections, such as map, filter, and sum. In addition, PairSCollectionFunctions contains operations available only on SCollections of key-value pairs, such as groupByKey and join; DoubleSCollectionFunctions contains operations available only on SCollections of Doubles.

Self Type
SCollection[T]
Linear Supertypes
PCollectionWrapper[T], TransformNameable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SCollection
  2. PCollectionWrapper
  3. TransformNameable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract val context: ScioContext

    Permalink

    The ScioContext associated with this PCollection.

    The ScioContext associated with this PCollection.

    Definition Classes
    PCollectionWrapper
  2. abstract val internal: PCollection[T]

    Permalink

    The PCollection being wrapped internally.

    The PCollection being wrapped internally.

    Definition Classes
    PCollectionWrapper

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def ++(that: SCollection[T]): SCollection[T]

    Permalink

    Return the union of this SCollection and another one.

    Return the union of this SCollection and another one. Any identical elements will appear multiple times (use distinct to eliminate them).

  4. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  5. def aggregate[A, U](aggregator: Aggregator[T, A, U])(implicit arg0: Coder[A], arg1: Coder[U], coder: Coder[T]): SCollection[U]

    Permalink

    Aggregate with Aggregator.

    Aggregate with Aggregator. First each item T is mapped to A, then we reduce with a Semigroup of A, then finally we present the results as U. This could be more powerful and better optimized in some cases.

  6. def aggregate[U](zeroValue: U)(seqOp: (U, T) ⇒ U, combOp: (U, U) ⇒ U)(implicit arg0: Coder[U], coder: Coder[T]): SCollection[U]

    Permalink

    Aggregate the elements using given combine functions and a neutral "zero value".

    Aggregate the elements using given combine functions and a neutral "zero value". This function can return a different result type, U, than the type of this SCollection, T. Thus, we need one operation for merging a T into an U and one operation for merging two U's. Both of these functions are allowed to modify and return their first argument instead of creating a new U to avoid memory allocation.

  7. def applyKvTransform[K, V](transform: PTransform[_ >: PCollection[T], PCollection[KV[K, V]]])(implicit koder: Coder[K], voder: Coder[V]): SCollection[KV[K, V]]

    Permalink

    Apply a PTransform and wrap the output in an SCollection.

    Apply a PTransform and wrap the output in an SCollection. This is a special case of applyTransform for transforms with KV output.

  8. def applyTransform[U](transform: PTransform[_ >: PCollection[T], PCollection[U]])(implicit arg0: Coder[U]): SCollection[U]

    Permalink

    Apply a PTransform and wrap the output in an SCollection.

  9. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  10. def asIterableSideInput: SideInput[Iterable[T]]

    Permalink

    Convert this SCollection to a SideInput, mapping each window to an Iterable, to be used with withSideInputs.

    Convert this SCollection to a SideInput, mapping each window to an Iterable, to be used with withSideInputs.

    The values of the Iterable for a window are not required to fit in memory, but they may also not be effectively cached. If it is known that every window fits in memory, and stronger caching is desired, use asListSideInput.

  11. def asListSideInput: SideInput[Seq[T]]

    Permalink

    Convert this SCollection to a SideInput, mapping each window to a Seq, to be used with withSideInputs.

    Convert this SCollection to a SideInput, mapping each window to a Seq, to be used with withSideInputs.

    The resulting Seq is required to fit in memory.

  12. def asSetSingletonSideInput(implicit coder: Coder[T]): SideInput[Set[T]]

    Permalink

    Convert this SCollection to a SideInput, mapping each window to a Set[T], to be used with withSideInputs.

    Convert this SCollection to a SideInput, mapping each window to a Set[T], to be used with withSideInputs.

    The resulting SideInput is a one element singleton which is a Set of all elements in the SCollection for the given window. The complete Set must fit in memory of the worker.

  13. def asSingletonSideInput(defaultValue: T): SideInput[T]

    Permalink

    Convert this SCollection of a single value per window to a SideInput with a default value, to be used with withSideInputs.

  14. def asSingletonSideInput: SideInput[T]

    Permalink

    Convert this SCollection of a single value per window to a SideInput, to be used with withSideInputs.

  15. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  16. def collect[U](pfn: PartialFunction[T, U])(implicit arg0: Coder[U]): SCollection[U]

    Permalink

    Filter the elements for which the given PartialFunction is defined, and then map.

  17. def combine[C](createCombiner: (T) ⇒ C)(mergeValue: (C, T) ⇒ C)(mergeCombiners: (C, C) ⇒ C)(implicit arg0: Coder[C], coder: Coder[T]): SCollection[C]

    Permalink

    Generic function to combine the elements using a custom set of aggregation functions.

    Generic function to combine the elements using a custom set of aggregation functions. Turns an SCollection[T] into a result of type SCollection[C], for a "combined type" C. Note that T and C can be different -- for example, one might combine an SCollection of type Int into an SCollection of type Seq[Int]. Users provide three functions:

    - createCombiner, which turns a T into a C (e.g., creates a one-element list)

    - mergeValue, to merge a T into a C (e.g., adds it to the end of a list)

    - mergeCombiners, to combine two C's into a single one.

  18. def count: SCollection[Long]

    Permalink

    Count the number of elements in the SCollection.

    Count the number of elements in the SCollection.

    returns

    a new SCollection with the count

  19. def countApproxDistinct(maximumEstimationError: Double = 0.02): SCollection[Long]

    Permalink

    Count approximate number of distinct elements in the SCollection.

    Count approximate number of distinct elements in the SCollection.

    maximumEstimationError

    the maximum estimation error, which should be in the range [0.01, 0.5]

  20. def countApproxDistinct(sampleSize: Int): SCollection[Long]

    Permalink

    Count approximate number of distinct elements in the SCollection.

    Count approximate number of distinct elements in the SCollection.

    sampleSize

    the number of entries in the statistical sample; the higher this number, the more accurate the estimate will be; should be >= 16

  21. def countByValue(implicit coder: Coder[(T, Long)]): SCollection[(T, Long)]

    Permalink

    Count of each unique value in this SCollection as an SCollection of (value, count) pairs.

  22. def cross[U](that: SCollection[U])(implicit arg0: Coder[U], tcoder: Coder[T]): SCollection[(T, U)]

    Permalink

    Return the cross product with another SCollection by replicating that to all workers.

    Return the cross product with another SCollection by replicating that to all workers. The right side should be tiny and fit in memory.

  23. def debug(out: () ⇒ PrintStream = () => Console.out, prefix: String = "", enabled: Boolean = true): SCollection[T]

    Permalink

    Print content of an SCollection to out().

    Print content of an SCollection to out().

    out

    where to write the debug information. Default: stdout

    prefix

    prefix for each logged entry. Default: empty string

    enabled

    if debugging is enabled or not. Default: true. It can be useful to set this to sc.isTest to avoid debugging when running in production.

  24. def distinct: SCollection[T]

    Permalink

    Return a new SCollection containing the distinct elements in this SCollection.

  25. def distinctBy[U](f: (T) ⇒ U)(implicit toder: Coder[T], uoder: Coder[U]): SCollection[T]

    Permalink

    Returns a new SCollection with distinct elements using given function to obtain a representative value for each input element.

    Returns a new SCollection with distinct elements using given function to obtain a representative value for each input element.

    U

    The type of representative values used to dedup.

    f

    The function to use to get representative values.

  26. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  28. def filter(f: (T) ⇒ Boolean): SCollection[T]

    Permalink

    Return a new SCollection containing only the elements that satisfy a predicate.

  29. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  30. def flatMap[U](f: (T) ⇒ TraversableOnce[U])(implicit arg0: Coder[U]): SCollection[U]

    Permalink

    Return a new SCollection by first applying a function to all elements of this SCollection, and then flattening the results.

  31. def flatten[U](implicit ev: (T) ⇒ TraversableOnce[U], coder: Coder[U]): SCollection[U]

    Permalink

    Return a new SCollection[U] by flattening each element of an SCollection[Traversable[U]].

  32. def fold(implicit mon: Monoid[T], coder: Coder[T]): SCollection[T]

    Permalink

    Fold with Monoid, which defines the associative function and "zero value" for T.

    Fold with Monoid, which defines the associative function and "zero value" for T. This could be more powerful and better optimized in some cases.

  33. def fold(zeroValue: T)(op: (T, T) ⇒ T)(implicit coder: Coder[T]): SCollection[T]

    Permalink

    Aggregate the elements using a given associative function and a neutral "zero value".

    Aggregate the elements using a given associative function and a neutral "zero value". The function op(t1, t2) is allowed to modify t1 and return it as its result value to avoid object allocation; however, it should not modify t2.

  34. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  35. def groupBy[K](f: (T) ⇒ K)(implicit kcoder: Coder[K], vcoder: Coder[T]): SCollection[(K, Iterable[T])]

    Permalink

    Return an SCollection of grouped items.

    Return an SCollection of grouped items. Each group consists of a key and a sequence of elements mapping to that key. The ordering of elements within each group is not guaranteed, and may even differ each time the resulting SCollection is evaluated.

    Note: This operation may be very expensive. If you are grouping in order to perform an aggregation (such as a sum or average) over each key, using PairSCollectionFunctions.aggregateByKey or PairSCollectionFunctions.reduceByKey will provide much better performance.

  36. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  37. def hashFilter(sideInput: SideInput[Set[T]])(implicit coder: Coder[T]): SCollection[T]

    Permalink

    Return a new SCollection containing only the elements that also exist in the SideInput.

  38. def hashLookup[V](that: SCollection[(T, V)])(implicit arg0: Coder[V], coder: Coder[T]): SCollection[(T, Iterable[V])]

    Permalink

    Look up values in an SCollection[(T, V)] for each element T in this SCollection by replicating that to all workers.

    Look up values in an SCollection[(T, V)] for each element T in this SCollection by replicating that to all workers. The right side should be tiny and fit in memory.

  39. def hashPartition(numPartitions: Int): Seq[SCollection[T]]

    Permalink

    Partition this SCollection using Object.hashCode() into n partitions

    Partition this SCollection using Object.hashCode() into n partitions

    numPartitions

    number of output partitions

    returns

    partitioned SCollections in a Seq

  40. def intersection(that: SCollection[T])(implicit coder: Coder[T]): SCollection[T]

    Permalink

    Return the intersection of this SCollection and another one.

    Return the intersection of this SCollection and another one. The output will not contain any duplicate elements, even if the input SCollections did.

    Note that this method performs a shuffle internally.

  41. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  42. def keyBy[K](f: (T) ⇒ K)(implicit coder: Coder[(K, T)]): SCollection[(K, T)]

    Permalink

    Create tuples of the elements in this SCollection by applying f.

  43. def map[U](f: (T) ⇒ U)(implicit arg0: Coder[U]): SCollection[U]

    Permalink

    Return a new SCollection by applying a function to all elements of this SCollection.

  44. def materialize(implicit coder: Coder[T]): ClosedTap[T]

    Permalink

    Extract data from this SCollection as a closed Tap.

    Extract data from this SCollection as a closed Tap. The Tap will be available once the pipeline completes successfully. .materialize() must be called before the ScioContext is run, as its implementation modifies the current pipeline graph.

    val closedTap = sc.parallelize(1 to 10).materialize
    sc.run().waitUntilDone().tap(closedTap)
  45. def max(ord: Ordering[T])(implicit coder: Coder[T]): SCollection[T]

    Permalink
  46. def max(implicit ord: Ordering[T], coder: Coder[T], dummy: DummyImplicit): SCollection[T]

    Permalink

    Return the max of this SCollection as defined by the implicit Ordering[T].

    Return the max of this SCollection as defined by the implicit Ordering[T].

    returns

    a new SCollection with the maximum element

  47. def mean(implicit ev: Numeric[T]): SCollection[Double]

    Permalink

    Return the mean of this SCollection as defined by the implicit Numeric[T].

    Return the mean of this SCollection as defined by the implicit Numeric[T].

    returns

    a new SCollection with the mean of elements

  48. def min(ord: Ordering[T])(implicit coder: Coder[T]): SCollection[T]

    Permalink
  49. def min(implicit ord: Ordering[T], coder: Coder[T], dummy: DummyImplicit): SCollection[T]

    Permalink

    Return the min of this SCollection as defined by the implicit Ordering[T].

    Return the min of this SCollection as defined by the implicit Ordering[T].

    returns

    a new SCollection with the minimum element

  50. def name: String

    Permalink

    A friendly name for this SCollection.

  51. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  54. def pApply[U](transform: PTransform[_ >: PCollection[T], PCollection[U]]): SCollection[U]

    Permalink
    Attributes
    protected
    Definition Classes
    PCollectionWrapper
  55. def partition(p: (T) ⇒ Boolean): (SCollection[T], SCollection[T])

    Permalink

    Partition this SCollection into a pair of SCollections according to a predicate.

    Partition this SCollection into a pair of SCollections according to a predicate.

    p

    predicate on which to partition

    returns

    a pair of SCollections: the first SCollection consists of all elements that satisfy the predicate p and the second consists of all element that do not.

  56. def partition(numPartitions: Int, f: (T) ⇒ Int): Seq[SCollection[T]]

    Permalink

    Partition this SCollection with the provided function.

    Partition this SCollection with the provided function.

    numPartitions

    number of output partitions

    f

    function that assigns an output partition to each element, should be in the range [0, numPartitions - 1]

    returns

    partitioned SCollections in a Seq

  57. def partitionByKey[U](partitionKeys: Set[U])(f: (T) ⇒ U): Map[U, SCollection[T]]

    Permalink

    Partition this SCollection into a map from possible key values to an SCollection of corresponding elements based on the provided function .

    Partition this SCollection into a map from possible key values to an SCollection of corresponding elements based on the provided function .

    partitionKeys

    The keys for the output partitions

    f

    function that assigns an output partition to each element, should be in the range of partitionKeys

    returns

    partitioned SCollections in a Map

  58. def quantilesApprox(numQuantiles: Int, ord: Ordering[T])(implicit coder: Coder[T]): SCollection[Iterable[T]]

    Permalink
  59. def quantilesApprox(numQuantiles: Int)(implicit ord: Ordering[T], coder: Coder[T], dummy: DummyImplicit): SCollection[Iterable[T]]

    Permalink

    Compute the SCollection's data distribution using approximate N-tiles.

    Compute the SCollection's data distribution using approximate N-tiles.

    returns

    a new SCollection whose single value is an Iterable of the approximate N-tiles of the elements

  60. def randomSplit(weightA: Double, weightB: Double)(implicit coder: Coder[T], ct: ClassTag[T]): (SCollection[T], SCollection[T], SCollection[T])

    Permalink

    Randomly splits this SCollection into three parts.

    Randomly splits this SCollection into three parts. Note: 0 < weightA + weightB < 1

    weightA

    weight for first SCollection, should be in the range (0, 1)

    weightB

    weight for second SCollection, should be in the range (0, 1)

    returns

    split SCollections in a Tuple3

  61. def randomSplit(weight: Double)(implicit coder: Coder[T], ct: ClassTag[T]): (SCollection[T], SCollection[T])

    Permalink

    Randomly splits this SCollection into two parts.

    Randomly splits this SCollection into two parts.

    weight

    weight for left hand side SCollection, should be in the range (0, 1)

    returns

    split SCollections in a Tuple2

  62. def randomSplit(weights: Array[Double])(implicit coder: Coder[T], ct: ClassTag[T]): Array[SCollection[T]]

    Permalink

    Randomly splits this SCollection with the provided weights.

    Randomly splits this SCollection with the provided weights.

    weights

    weights for splits, will be normalized if they don't sum to 1

    returns

    split SCollections in an array

  63. def readFiles[A](filesTransform: PTransform[PCollection[ReadableFile], PCollection[A]], directoryTreatment: DirectoryTreatment = DirectoryTreatment.SKIP, compression: Compression = Compression.AUTO)(implicit arg0: Coder[A], ev: <:<[T, String]): SCollection[A]

    Permalink

    Reads each file, represented as a pattern, in this SCollection.

    Reads each file, represented as a pattern, in this SCollection.

    directoryTreatment

    Controls how to handle directories in the input.

    compression

    Reads files using the given org.apache.beam.sdk.io.Compression.

    See also

    readFilesAsBytes, readFilesAsString, readFiles

  64. def readFiles[A](directoryTreatment: DirectoryTreatment, compression: Compression)(f: (ReadableFile) ⇒ A)(implicit arg0: Coder[A], ev: <:<[T, String]): SCollection[A]

    Permalink

    Reads each file, represented as a pattern, in this SCollection.

    Reads each file, represented as a pattern, in this SCollection.

    directoryTreatment

    Controls how to handle directories in the input.

    compression

    Reads files using the given org.apache.beam.sdk.io.Compression.

    See also

    readFilesAsBytes, readFilesAsString

  65. def readFiles[A](f: (ReadableFile) ⇒ A)(implicit arg0: Coder[A], ev: <:<[T, String]): SCollection[A]

    Permalink

    Reads each file, represented as a pattern, in this SCollection.

    Reads each file, represented as a pattern, in this SCollection.

    See also

    readFilesAsBytes, readFilesAsString

  66. def readFiles(implicit ev: <:<[T, String]): SCollection[String]

    Permalink

    Reads each file, represented as a pattern, in this SCollection.

    Reads each file, represented as a pattern, in this SCollection.

    returns

    each line of the input files.

    See also

    readFilesAsBytes, readFilesAsString

  67. def readFilesAsBytes(implicit ev: <:<[T, String]): SCollection[Array[Byte]]

    Permalink

    Reads each file, represented as a pattern, in this SCollection.

    Reads each file, represented as a pattern, in this SCollection.

    returns

    each file fully read as Array[Byte.

    See also

    readFilesAsBytes, readFilesAsString

  68. def readFilesAsString(implicit ev: <:<[T, String]): SCollection[String]

    Permalink

    Reads each file, represented as a pattern, in this SCollection.

    Reads each file, represented as a pattern, in this SCollection.

    returns

    each file fully read as String.

    See also

    readFilesAsBytes, readFilesAsString

  69. def reduce(op: (T, T) ⇒ T)(implicit coder: Coder[T]): SCollection[T]

    Permalink

    Reduce the elements of this SCollection using the specified commutative and associative binary operator.

  70. def sample(withReplacement: Boolean, fraction: Double)(implicit coder: Coder[T]): SCollection[T]

    Permalink

    Return a sampled subset of this SCollection.

  71. def sample(sampleSize: Int)(implicit coder: Coder[T]): SCollection[Iterable[T]]

    Permalink

    Return a sampled subset of this SCollection.

    Return a sampled subset of this SCollection.

    returns

    a new SCollection whose single value is an Iterable of the samples

  72. def saveAsBinaryFile(path: String, numShards: Int = ..., prefix: String = BinaryIO.WriteParam.DefaultPrefix, suffix: String = BinaryIO.WriteParam.DefaultSuffix, compression: Compression = ..., header: Array[Byte] = BinaryIO.WriteParam.DefaultHeader, footer: Array[Byte] = BinaryIO.WriteParam.DefaultFooter, framePrefix: (Array[Byte]) ⇒ Array[Byte] = ..., frameSuffix: (Array[Byte]) ⇒ Array[Byte] = ..., fileNaming: Option[FileNaming] = ...)(implicit ev: <:<[T, Array[Byte]]): ClosedTap[Nothing]

    Permalink

    Save this SCollection as raw bytes.

    Save this SCollection as raw bytes. Note that elements must be of type Array[Byte].

  73. def saveAsCustomOutput[O <: POutput](name: String, transform: PTransform[PCollection[T], O]): ClosedTap[Nothing]

    Permalink

    Save this SCollection with a custom output transform.

    Save this SCollection with a custom output transform. The transform should have a unique name.

  74. def saveAsDatastore(projectId: String)(implicit ev: <:<[T, Entity]): ClosedTap[Nothing]

    Permalink

    Save this SCollection as a Datastore dataset.

    Save this SCollection as a Datastore dataset. Note that elements must be of type Entity.

  75. def saveAsPubsub(topic: String, idAttribute: String = null, timestampAttribute: String = null, maxBatchSize: Option[Int] = None, maxBatchBytesSize: Option[Int] = None)(implicit ct: ClassTag[T], coder: Coder[T]): ClosedTap[Nothing]

    Permalink

    Save this SCollection as a Pub/Sub topic.

  76. def saveAsPubsubWithAttributes[V](topic: String, idAttribute: String = null, timestampAttribute: String = null, maxBatchSize: Option[Int] = None, maxBatchBytesSize: Option[Int] = None)(implicit arg0: ClassTag[V], arg1: Coder[V], ev: <:<[T, (V, Map[String, String])]): ClosedTap[Nothing]

    Permalink

    Save this SCollection as a Pub/Sub topic using the given map as message attributes.

  77. def saveAsTextFile(path: String, numShards: Int = TextIO.WriteParam.DefaultNumShards, suffix: String = TextIO.WriteParam.DefaultSuffix, compression: Compression = ..., header: Option[String] = TextIO.WriteParam.DefaultHeader, footer: Option[String] = TextIO.WriteParam.DefaultFooter, shardNameTemplate: String = ...)(implicit ct: ClassTag[T]): ClosedTap[String]

    Permalink

    Save this SCollection as a text file.

    Save this SCollection as a text file. Note that elements must be of type String.

  78. def setCoder(coder: Coder[T]): SCollection[T]

    Permalink

    Assign a Coder to this SCollection.

  79. def setSchema(schema: Schema[T])(implicit ct: ClassTag[T]): SCollection[T]

    Permalink
  80. def subtract(that: SCollection[T])(implicit coder: Coder[T]): SCollection[T]

    Permalink

    Return an SCollection with the elements from this that are not in other.

  81. def sum(implicit sg: Semigroup[T], coder: Coder[T]): SCollection[T]

    Permalink

    Reduce with Semigroup.

    Reduce with Semigroup. This could be more powerful and better optimized than reduce in some cases.

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

    Permalink
    Definition Classes
    AnyRef
  83. def take(num: Long): SCollection[T]

    Permalink

    Return a sampled subset of any num elements of the SCollection.

  84. def tap[U](f: (T) ⇒ U): SCollection[T]

    Permalink

    Applies f to each element of this SCollection, and returns the original value.

  85. def timestampBy(f: (T) ⇒ Instant, allowedTimestampSkew: Duration = Duration.ZERO)(implicit coder: Coder[T]): SCollection[T]

    Permalink

    Assign timestamps to values.

    Assign timestamps to values. With a optional skew

  86. def to[U](to: To[T, U]): SCollection[U]

    Permalink

    Go from an SCollection of type T to an SCollection of U given the Schemas of both types T and U.

    Go from an SCollection of type T to an SCollection of U given the Schemas of both types T and U.

    There are two constructors for To:

    Type safe (Schema compatibility is verified during compilation)

    SCollection[T]#to(To.safe[T, U])

    Unsafe conversion from T to U. Schema compatibility is not checked during compile time.

    SCollection[T]#to[U](To.unsafe)
  87. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  88. def toWindowed(implicit coder: Coder[T]): WindowedSCollection[T]

    Permalink

    Convert this SCollection to an WindowedSCollection.

  89. def top(num: Int, ord: Ordering[T])(implicit coder: Coder[T]): SCollection[Iterable[T]]

    Permalink
  90. def top(num: Int)(implicit ord: Ordering[T], coder: Coder[T], d: DummyImplicit): SCollection[Iterable[T]]

    Permalink

    Return the top k (largest) elements from this SCollection as defined by the specified implicit Ordering[T].

    Return the top k (largest) elements from this SCollection as defined by the specified implicit Ordering[T].

    returns

    a new SCollection whose single value is an Iterable of the top k

  91. def transform[U](name: String)(f: (SCollection[T]) ⇒ SCollection[U]): SCollection[U]

    Permalink
  92. def transform[U](f: (SCollection[T]) ⇒ SCollection[U]): SCollection[U]

    Permalink

    Apply a transform.

  93. def union(that: SCollection[T]): SCollection[T]

    Permalink

    Return the union of this SCollection and another one.

    Return the union of this SCollection and another one. Any identical elements will appear multiple times (use distinct to eliminate them).

  94. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  97. def windowByDays(number: Int, options: WindowOptions = WindowOptions()): SCollection[T]

    Permalink

    Window values into by days.

  98. def windowByMonths(number: Int, options: WindowOptions = WindowOptions()): SCollection[T]

    Permalink

    Window values into by months.

  99. def windowByWeeks(number: Int, startDayOfWeek: Int, options: WindowOptions = WindowOptions()): SCollection[T]

    Permalink

    Window values into by weeks.

  100. def windowByYears(number: Int, options: WindowOptions = WindowOptions()): SCollection[T]

    Permalink

    Window values into by years.

  101. def withFanout(fanout: Int)(implicit coder: Coder[T]): SCollectionWithFanout[T]

    Permalink

    Convert this SCollection to an SCollectionWithFanout that uses an intermediate node to combine parts of the data to reduce load on the final global combine step.

    Convert this SCollection to an SCollectionWithFanout that uses an intermediate node to combine parts of the data to reduce load on the final global combine step.

    fanout

    the number of intermediate keys that will be used

  102. def withFixedWindows(duration: Duration, offset: Duration = Duration.ZERO, options: WindowOptions = WindowOptions()): SCollection[T]

    Permalink

    Window values into fixed windows.

  103. def withGlobalWindow(options: WindowOptions = WindowOptions()): SCollection[T]

    Permalink

    Group values in to a single global window.

  104. def withName(name: String): SCollection.this.type

    Permalink

    Set a custom name for the next transform to be applied.

    Set a custom name for the next transform to be applied.

    Definition Classes
    TransformNameable
  105. def withPaneInfo(implicit coder: Coder[(T, PaneInfo)]): SCollection[(T, PaneInfo)]

    Permalink

    Convert values into pairs of (value, window).

  106. def withSessionWindows(gapDuration: Duration, options: WindowOptions = WindowOptions()): SCollection[T]

    Permalink

    Window values based on sessions.

  107. def withSideInputs(sides: SideInput[_]*)(implicit coder: Coder[T]): SCollectionWithSideInput[T]

    Permalink

    Convert this SCollection to an SCollectionWithSideInput with one or more SideInputs, similar to Spark broadcast variables.

    Convert this SCollection to an SCollectionWithSideInput with one or more SideInputs, similar to Spark broadcast variables. Call SCollectionWithSideInput.toSCollection when done with side inputs.

    val s1: SCollection[Int] = // ...
    val s2: SCollection[String] = // ...
    val s3: SCollection[(String, Double)] = // ...
    
    // Prepare side inputs
    val side1 = s1.asSingletonSideInput
    val side2 = s2.asIterableSideInput
    val side3 = s3.asMapSideInput
    val side4 = s4.asMultiMapSideInput
    
    val p: SCollection[MyRecord] = // ...
    p.withSideInputs(side1, side2, side3).map { (x, s) =>
      // Extract side inputs from context
      val s1: Int = s(side1)
      val s2: Iterable[String] = s(side2)
      val s3: Map[String, Double] = s(side3)
      val s4: Map[String, Iterable[Double]] = s(side4)
      // ...
    }
  108. def withSideOutputs(sides: SideOutput[_]*): SCollectionWithSideOutput[T]

    Permalink

    Convert this SCollection to an SCollectionWithSideOutput with one or more SideOutputs, so that a single transform can write to multiple destinations.

    Convert this SCollection to an SCollectionWithSideOutput with one or more SideOutputs, so that a single transform can write to multiple destinations.

    // Prepare side inputs
    val side1 = SideOutput[String]()
    val side2 = SideOutput[Int]()
    
    val p: SCollection[MyRecord] = // ...
    p.withSideOutputs(side1, side2).map { (x, s) =>
      // Write to side outputs via context
      s.output(side1, "word").output(side2, 1)
      // ...
    }
  109. def withSlidingWindows(size: Duration, period: Duration = null, offset: Duration = Duration.ZERO, options: WindowOptions = WindowOptions()): SCollection[T]

    Permalink

    Window values into sliding windows.

  110. def withTimestamp(implicit coder: Coder[(T, Instant)]): SCollection[(T, Instant)]

    Permalink

    Convert values into pairs of (value, timestamp).

  111. def withWindow[W <: BoundedWindow](implicit tcoder: Coder[T]): SCollection[(T, W)]

    Permalink

    Convert values into pairs of (value, window).

    Convert values into pairs of (value, window).

    W

    window type, must be BoundedWindow or one of it's sub-types, e.g. GlobalWindow if this SCollection is not windowed or IntervalWindow if it is windowed.

  112. def withWindowFn[W <: BoundedWindow](fn: WindowFn[AnyRef, W], options: WindowOptions = WindowOptions()): SCollection[T]

    Permalink

    Window values with the given function.

  113. def write(io: ScioIO[T] { type WriteP = Unit })(implicit coder: Coder[T]): ClosedTap[T]

    Permalink
  114. def write(io: ScioIO[T])(params: WriteP)(implicit coder: Coder[T]): ClosedTap[T]

    Permalink

    Generic write method for all ScioIO[T] implementations, if it is test pipeline this will evaluate pre-registered output IO implementation which match for the passing ScioIO[T] implementation.

    Generic write method for all ScioIO[T] implementations, if it is test pipeline this will evaluate pre-registered output IO implementation which match for the passing ScioIO[T] implementation. if not this will invoke com.spotify.scio.io.ScioIO[T]#write method along with write configurations passed by.

    io

    an implementation of ScioIO[T] trait

    params

    configurations need to pass to perform underline write implementation

Deprecated Value Members

  1. def hashFilter(that: SideSet[T])(implicit coder: Coder[T]): SCollection[T]

    Permalink

    Return a new SCollection containing only the elements that also exist in the SideSet.

    Return a new SCollection containing only the elements that also exist in the SideSet.

    Annotations
    @deprecated
    Deprecated

    (Since version 0.8.0) use SCollection[T]#hashFilter(right.asSetSingletonSideInput) instead

  2. def readAll[U](read: PTransform[PCollection[String], PCollection[U]])(implicit arg0: Coder[U], ev: <:<[T, String]): SCollection[U]

    Permalink

    Read files represented by elements of this SCollection as file patterns.

    Read files represented by elements of this SCollection as file patterns.

    sc.parallelize("a.txt").readAll(TextIO.readAll())
    Annotations
    @deprecated
    Deprecated

    (Since version 0.8.1) Use readFiles instead

  3. def readAllBytes(implicit ev: <:<[T, String]): SCollection[Array[Byte]]

    Permalink

    Read files as byte arrays represented by elements of this SCollection as file patterns.

    Read files as byte arrays represented by elements of this SCollection as file patterns.

    Annotations
    @deprecated
    Deprecated

    (Since version 0.8.1) Use readAllAsBytes instead

  4. def toSideSet(implicit coder: Coder[T]): SideSet[T]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 0.8.0) Use SCollection[T]#asSetSingletonSideInput instead

Inherited from PCollectionWrapper[T]

Inherited from TransformNameable

Inherited from AnyRef

Inherited from Any

Collection Operations

debug

Hash Operations

Output Sinks

Side Input and Output Operations

Transformations

Windowing Operations

Ungrouped