2017-06-13 18 views
0

私はタイプarray<bigint>(値[1,2,3,4]のような)のカラムを持っていて、それをstring(たとえば "1,2,3,4")に変換したいのですが、どうすればいいですか?配列<int>をハイブの文字列にキャストする方法は?

私はconcat_ws(',' arr)を試してみましたが、それはarray<string>array<bigint>をキャストする方法はあり

Argument 2 of function CONCAT_WS must be "string or array<string>", but "array<bigint>" was found." 

を不平を言いますか?

+0

は、あなたの答えここにあるかもしれ - https://stackoverflow.com/questions/40977674/how-to-concatenate-the-elemets-of-int-array-to- string-in-hive – aksss

+0

[ハイブでint配列のelemetsを文字列に連結する方法]の可能な複製(https://stackoverflow.com/questions/40977674/how-to-concatenate-the-elemets-of-int-配列から文字列へのハイブ) – aksss

答えて

0

はこれを試してみてください:

select xx,concat_ws(',',collect_set(cast(element as string))) as arrystr 
from table 
lateral view explode(arr) b as element 
group by xx 
関連する問題