hof_aggregate
Apply Aggregate Function to Array Column
Description
Apply an element-wise aggregation function to an array column (this is essentially a dplyr wrapper for the aggregate(array<T>, A, function<A, T, A>[, function<A, R>]): R
built-in Spark SQL functions)
Usage
hof_aggregate(
x,
start,
merge,
finish = NULL,
expr = NULL,
dest_col = NULL,
...
)
Arguments
Argument | Description |
---|---|
x | The Spark data frame to run aggregation on |
start | The starting value of the aggregation |
merge | The aggregation function |
finish | Optional param specifying a transformation to apply on the final value of the aggregation |
expr | The array being aggregated, could be any SQL expression evaluating to an array |
(default: the last column of the Spark data frame) dest_col | Column to store the aggregated result (default: expr) … | Additional params to dplyr::mutate
Examples
library(sparklyr)
sc <- spark_connect(master = "local")
# concatenates all numbers of each array in `array_column` and add parentheses
# around the resulting string
copy_to(sc, tibble::tibble(array_column = list(1:5, 21:25))) %>%
hof_aggregate(
start = "",
merge = ~ CONCAT(.y, .x),
finish = ~ CONCAT("(", .x, ")")
)