Expand description
Array, Struct, and Map scalar UDFs (F-SCHEMA-015) Array, Struct, and Map scalar UDFs (F-SCHEMA-015).
Tier 1 — Built-in DataFusion array functions are verified via tests.
Tier 2 — Custom scalar UDFs for struct/map operations:
| Function | Signature | Return |
|---|---|---|
struct_extract(struct, field) | Struct, Utf8 | field type |
struct_set(struct, field, value) | Struct, Utf8, Any | Struct |
struct_drop(struct, field) | Struct, Utf8 | Struct |
struct_rename(struct, old, new) | Struct, Utf8, Utf8 | Struct |
struct_merge(s1, s2) | Struct, Struct | Struct |
map_keys(map) | Map | List<K> |
map_values(map) | Map | List<V> |
map_contains_key(map, key) | Map, K | Boolean |
map_from_arrays(keys, vals) | List, List | Map |
Structs§
- MapContains
Key map_contains_key(map, key)— check if a map contains a given key.- MapFrom
Arrays map_from_arrays(keys, values)— construct a map from key/value arrays.- MapKeys
map_keys(map)— extract keys from a map as a list.- MapValues
map_values(map)— extract values from a map as a list.- Struct
Drop struct_drop(struct, field_name)— remove a field from a struct.- Struct
Extract struct_extract(struct, field_name)— extract a field from a struct column.- Struct
Merge struct_merge(s1, s2)— merge two structs (s2 fields override s1).- Struct
Rename struct_rename(struct, old_name, new_name)— rename a struct field.- Struct
Set struct_set(struct, field_name, value)— set/add a field in a struct.
Functions§
- register_
complex_ type_ functions - Registers all complex type UDFs with the given session context.