datafusion_spark/function/map/
mod.rs1pub mod map_from_arrays;
19pub mod map_from_entries;
20pub mod str_to_map;
21mod utils;
22
23use datafusion_expr::ScalarUDF;
24use datafusion_functions::make_udf_function;
25use std::sync::Arc;
26
27make_udf_function!(map_from_arrays::MapFromArrays, map_from_arrays);
28make_udf_function!(map_from_entries::MapFromEntries, map_from_entries);
29make_udf_function!(str_to_map::SparkStrToMap, str_to_map);
30
31pub mod expr_fn {
32 use datafusion_functions::export_functions;
33
34 export_functions!((
35 map_from_arrays,
36 "Creates a map from arrays of keys and values.",
37 keys values
38 ));
39
40 export_functions!((
41 map_from_entries,
42 "Creates a map from array<struct<key, value>>.",
43 arg1
44 ));
45
46 export_functions!((
47 str_to_map,
48 "Creates a map after splitting the text into key/value pairs using delimiters.",
49 text pair_delim key_value_delim
50 ));
51}
52
53pub fn functions() -> Vec<Arc<ScalarUDF>> {
54 vec![map_from_arrays(), map_from_entries(), str_to_map()]
55}