UnnestExpr#

class ray.data.expressions.UnnestExpr(expr: Expr)[source]#

Bases: Expr

Expression that expands a struct-typed expression into one output column per struct field.

This is a plan-time marker, analogous to StarExpr: it never survives into the optimizer or the evaluation engine. Project.__post_init__ eagerly desugars it (via expand_projection) into one expr.struct.field_by_index(i).alias(field_name) projection entry per struct field, so downstream code only ever sees ordinary named expressions. The struct field names and order come from the expression’s resolved PyArrow struct type; CommonSubExprElimination then deduplicates the shared inner subtree so it is evaluated once per block.

Because desugaring needs the struct type at plan time, the wrapped expression must either carry a declared struct return_dtype (UDFs) or reference a struct column resolvable from the input schema. Otherwise Project construction raises.

See unnest() for the public constructor.

DeveloperAPI: This API may change across minor Ray releases.

Methods

abs

Compute the absolute value of the expression.

acos

Compute the arccosine (inverse cosine) of the expression, returning radians.

asin

Compute the arcsine (inverse sine) of the expression, returning radians.

atan

Compute the arctangent (inverse tangent) of the expression, returning radians.

cast

Cast the expression to a specified type.

ceil

Round values up to the nearest integer.

cos

Compute the cosine of the expression (in radians).

exp

Compute the natural exponential of the expression.

expand_projection

Desugar into one aliased struct-field access per struct field.

floor

Round values down to the nearest integer.

get_type

Resolve the output PyArrow data type given the input schema.

is_idempotent

Return whether this expression is safe to duplicate, reorder, or move.

is_in

Check if the expression value is in a list of values.

is_not_null

Check if the expression value is not null.

is_null

Check if the expression value is null.

ln

Compute the natural logarithm of the expression.

log10

Compute the base-10 logarithm of the expression.

log2

Compute the base-2 logarithm of the expression.

negate

Compute the negation of the expression.

not_in

Check if the expression value is not in a list of values.

nullable

Whether the output of this expression may contain nulls.

power

Raise the expression to the given power.

round

Round values to the nearest integer using PyArrow semantics.

sign

Compute the sign of the expression.

sin

Compute the sine of the expression (in radians).

tan

Compute the tangent of the expression (in radians).

to_pyarrow

Convert this Ray Data expression to a PyArrow compute expression.

trunc

Truncate fractional values toward zero.

Attributes

arr

Access array operations for this expression.

dt

Access datetime operations for this expression.

list

Access list operations for this expression.

map

Access map/dict operations for this expression.

name

Get the name associated with this expression.

str

Access string operations for this expression.

struct

Access struct operations for this expression.

expr

The wrapped expression; must resolve to a PyArrow struct type.

data_type