gpt4 book ai didi

hadoop - collect_set on array type with group by 在配置单元中

转载 作者:可可西里 更新时间:2023-11-01 14:45:16 24 4
gpt4 key购买 nike

我有下表,其中包含 id 的重复项以及每个 id 的值数组,我想找出每个 id 的唯一值,该怎么做?

CREATE TABLE test(
id string,
values array<string>)

当我运行以下命令时,它会抛出错误,因为 collect_set 仅支持原始类型值。

select id, collect_set(values) from ts group by id;

错误:

FAILED: UDFArgumentTypeException Only primitive type arguments are accepted but array was passed as parameter 1.

最佳答案

如错误消息所述Only primitive type arguments are accepted but array was passed as parameter 1.,您需要在使用前将数组转换为String。

您可以使用 explode() 函数实现相同的效果。像这样的东西:

select 
id,
collect_set(tokens)
FROM
ts LATERAL VIEW explode(values) x AS tokens
group by
id;

关于hadoop - collect_set on array type with group by 在配置单元中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43728191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com