を見る/爆発:ハイブは、私は、次のスキーマを持つハイブテーブル持って横方向には複数のアレイ
COOKIEを| PRODUCT_ID | CAT_ID |私は次の結果を
クッキーを得るようQTY
1234123 [1,2,3] [R、T、ヌル] [2,1は、ヌル]どのようにアレイを正規化することができ| PRODUCT_ID | CAT_ID | QTY
1234123 [1] [R] [2]
1234123 [2] [T] [1]
1234123私が試みた
[3]ヌルヌル以下:
select concat_ws('|',visid_high,visid_low) as cookie
,pid
,catid
,qty
from table
lateral view explode(productid) ptable as pid
lateral view explode(catalogId) ptable2 as catid
lateral view explode(qty) ptable3 as qty
しかし結果はデカルト積として出てきます。
ありがとう、これは完璧に機能しました。 – user2726995
@Jerome ..アレイのサイズが異なる場合、これは機能しますか? –
配列のサイズが違うと分かりません。次に、nが現在の配列よりも大きいかどうかをチェックする必要があります。何かのようなもの 。 SELECTクッキー、IF(n> = size(array1)、array_index(array1、n)、null)、IF(n> = size(array2)、array_index(array2、n)..... –