Skip to content

WindowSpec

Defined in: window.ts:45

Describes how to partition, order, and frame a window for window functions such as row_number, rank, and lag.

Obtain a WindowSpec from the Window factory. Instances are immutable; every builder method returns a new WindowSpec.

Ranking within a partition

import { Window, col } from "@spark-connect-js/core";
import { row_number } from "@spark-connect-js/core/functions";
const spec = Window.partitionBy("country").orderBy(col("score").desc());
const ranked = df.withColumn("rank", row_number().over(spec));

Spark source: Window.scala

new WindowSpec(
partitionSpec?,
orderSpec?,
frameSpec?): WindowSpec;

Defined in: window.ts:53

Parameter Type Default value
partitionSpec Expression[] []
orderSpec SortOrder[] []
frameSpec? WindowFrame undefined

WindowSpec

orderBy(...cols): WindowSpec;

Defined in: window.ts:69

Add order-by columns to this window spec.

Parameter Type
cols ColOrName[]

WindowSpec


partitionBy(...cols): WindowSpec;

Defined in: window.ts:64

Add partition-by columns to this window spec.

Parameter Type
cols ColOrName[]

WindowSpec


rangeBetween(start, end): WindowSpec;

Defined in: window.ts:83

Set a range-based frame between the given boundaries.

Parameter Type
start number
end number

WindowSpec


rowsBetween(start, end): WindowSpec;

Defined in: window.ts:74

Set a row-based frame between the given boundaries.

Parameter Type
start number
end number

WindowSpec