ARRAY_AGG函数在Spark SQL中不起作用



我正在尝试在Spark SQL中使用ARRAY_AGG函数。当我使用它时,它会抛出错误

<lt;未定义的函数:"array_agg"。该函数既不是注册的临时函数,也不是在数据库的default>gt;

Dataset<Row> finalDS1 = sparkSession.sql("select array_agg(company_private_id) from TEMP_COMPANY_PRIVATE_VIEW");

有人知道怎么解决吗?我正在尝试将一个数组与另一列进行比较。为此,我使用ARRAY_AGG。

"select cp.array_column & (select array_agg(int_column) from getCompanyPrivateDS ds1) as filtered_data from getCompanyPrivateDS cp"

我认为这是Spark的文档错误。它们在函数列表中清楚地显示了array_agg((:https://spark.apache.org/docs/latest/api/sql/index.html#array_agg但我也经历过这个功能在Spark 3.1.2 上不起作用

Collect_set((和Collect_list((应该可以用于您的目的:前者会对结果进行重复数据消除,而后者则不会。

最新更新