web-dev-qa-db-ja.com

Hive SQLで配列を文字列に変換するにはどうすればよいですか?

Hiveで配列を文字列に変換したい。 [[""]]なしで文字列に変換する配列値をcollect_setします。

select actor, collect_set(date) as grpdate from actor_table group by actor;

[["2016-07-01", "2016-07-02"]]2016-07-01, 2016-07-02になるように

19
Bethlee

concat_ws(string delimiter, array<string>)関数を使用して配列を連結します。

select actor, concat_ws(',',collect_set(date)) as grpdate from actor_table group by actor;

日付フィールドが文字列でない場合は、文字列に変換します:

concat_ws(',',collect_set(cast(date as string)))

既に配列があり、それを爆発させたくない場合の代替方法については、この回答もお読みください。 int配列の要素をHiveの文字列に連結する方法

33
leftjoin