我正在尝试将int array的元素连接到配置单元中的一个字符串。函数 concat_ws 只适用于字符串数组,所以我尝试了 cast(my_int_array as string) 但它不起作用。有什么建议吗?
concat_ws
cast(my_int_array as string)
busg9geu1#
似乎最简单的方法是编写自定义udf来执行此特定任务:
public class ConcatIntArray extends UDF { public String evaluate(ArrayList<Integer> in, final String delimiter){ return in.stream().map(u-> String.valueOf(u)).collect(Collectors.joining(delimiter)); } }
vmjh9lq92#
尝试使用/bin/cat进行转换:
from mytable select transform(my_int_array) using '/bin/cat' as (my_int_array);
第二个选项是更改表并替换分隔符:
1) ALTER TABLE mytable CHANGE COLUMN my_int_array = my_int_array_string string; 2) SELECT REPLACE(my_int_array_string, '\002', ', ') FROM mytable;
2条答案
按热度按时间busg9geu1#
似乎最简单的方法是编写自定义udf来执行此特定任务:
vmjh9lq92#
尝试使用/bin/cat进行转换:
第二个选项是更改表并替换分隔符: