or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

async-operations.mddata-sources.mdfunction-interfaces.mdindex.mdkeyed-streams.mdoutput-operations.mdscala-extensions.mdstream-composition.mdstream-environment.mdstream-partitioning.mdstream-transformations.mdwindow-operations.mdwindowing.md
tile.json

window-operations.mddocs/

Window Operations and Aggregations

Operations that can be applied to windowed streams including built-in aggregations, custom window functions, and incremental aggregations.

Built-in Aggregations

class WindowedStream[T, K, W <: Window] {
  def sum(position: Int): DataStream[T]
  def sum(field: String): DataStream[T]
  def min(position: Int): DataStream[T]
  def max(position: Int): DataStream[T]
  def minBy(position: Int): DataStream[T]
  def maxBy(position: Int): DataStream[T]
}

class AllWindowedStream[T, W <: Window] {
  def sum(position: Int): DataStream[T]
  def min(position: Int): DataStream[T]
  def max(position: Int): DataStream[T]
  def minBy(position: Int): DataStream[T]
  def maxBy(position: Int): DataStream[T]
}

Custom Window Functions

class WindowedStream[T, K, W <: Window] {
  def apply[R: TypeInformation](function: WindowFunction[T, R, K, W]): DataStream[R]
  def process[R: TypeInformation](function: ProcessWindowFunction[T, R, K, W]): DataStream[R]
  def reduce(function: (T, T) => T): DataStream[T]
  def aggregate[ACC: TypeInformation, R: TypeInformation](aggregateFunction: AggregateFunction[T, ACC, R]): DataStream[R]
}

Window operations enable computing results over finite subsets of infinite streams using time or count-based boundaries.