int配列の要素を連結して、hiveの1つの文字列に連結しようとしています。int arrayのelemetsをHiveの文字列に連結する方法
関数 "concat_ws"は文字列配列に対してのみ機能するので、文字列としてのキャスト(my_int_array)を試みましたが、機能しません。
提案がありますか?
int配列の要素を連結して、hiveの1つの文字列に連結しようとしています。int arrayのelemetsをHiveの文字列に連結する方法
関数 "concat_ws"は文字列配列に対してのみ機能するので、文字列としてのキャスト(my_int_array)を試みましたが、機能しません。
提案がありますか?
を:
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;
最も簡単な方法は、この特定のタスクを実行するためのカスタムUDFを書くことであるようだ:/ binに/猫を使用して変換してみ
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));
}
}
最初の解決策は完全に機能します!ありがとう! +1 – Kamaney