ARRAY_AGG函数在Spark SQL中不起作用

h22fl7wq  于 2023-02-05  发布在  Apache
关注(0)|答案(1)|浏览(419)

我尝试在Spark SQL中使用ARRAY_AGG函数。当我使用它时,它抛出错误
〈〈未定义函数:'array_agg'。此函数既不是注册的临时函数,也不是在数据库中注册的永久函数'default〉〉

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"
brgchamk

brgchamk1#

我认为这是Spark的一个文档错误,他们在函数列表中清楚地显示了array_agg():https://spark.apache.org/docs/latest/api/sql/index.html#array_agg,但我也经历过这个功能在Spark 3.1.2上不起作用
Collect_set()和collect_list()应该可以满足您的需求:前者会产生重复数据消除结果,而后者不会。

相关问题