Expand description
Lambda higher-order functions for arrays and maps (F-SCHEMA-015 Tier 3) Lambda higher-order functions for arrays and maps (F-SCHEMA-015 Tier 3).
Provides vectorized lambda evaluation over Arrow arrays:
| Function | Lambda | Strategy |
|---|---|---|
array_transform(arr, lambda) | x -> expr | Flatten, eval, re-group |
array_filter(arr, lambda) | x -> bool | Flatten, eval, filter+rebuild |
array_reduce(arr, init, lambda) | (acc, x) -> expr | Sequential fold |
map_filter(map, lambda) | (k, v) -> bool | Eval on k+v, filter entries |
map_transform_values(map, lambda) | (k, v) -> expr | Eval on k+v, replace vals |
Lambda expressions are specified as string literal SQL expressions. They are evaluated using DataFusion’s SQL engine against a temporary table containing the element values. Native lambda syntax is deferred.
Structs§
- Array
Filter array_filter(arr, 'x > 0')— filter elements by a boolean lambda.- Array
Reduce array_reduce(arr, init, '(acc + x)')— fold/reduce array elements.- Array
Transform array_transform(arr, 'x + 1')— apply a lambda to each element.- MapFilter
map_filter(map, '(k <> ''temp'')')— filter map entries by key+value.- MapTransform
Values map_transform_values(map, 'v * 2')— transform map values.
Functions§
- register_
lambda_ functions - Registers all lambda HOFs with the given session context.