Skip to main content

Module complex_type_udf

Module complex_type_udf 

Source
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:

FunctionSignatureReturn
struct_extract(struct, field)Struct, Utf8field type
struct_set(struct, field, value)Struct, Utf8, AnyStruct
struct_drop(struct, field)Struct, Utf8Struct
struct_rename(struct, old, new)Struct, Utf8, Utf8Struct
struct_merge(s1, s2)Struct, StructStruct
map_keys(map)MapList<K>
map_values(map)MapList<V>
map_contains_key(map, key)Map, KBoolean
map_from_arrays(keys, vals)List, ListMap

Structs§

MapContainsKey
map_contains_key(map, key) — check if a map contains a given key.
MapFromArrays
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.
StructDrop
struct_drop(struct, field_name) — remove a field from a struct.
StructExtract
struct_extract(struct, field_name) — extract a field from a struct column.
StructMerge
struct_merge(s1, s2) — merge two structs (s2 fields override s1).
StructRename
struct_rename(struct, old_name, new_name) — rename a struct field.
StructSet
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.