2016-11-09 6 views
0

array_contains関数を使用して配列内の項目を探しています。私は一致があった配列のインデックスを返すことを探しています。私の誤差がある場合Hadoop Hiveは配列から位置を取得します

select b.sku_id 
,array_position(b.sku_list, b.sku_id) as matched_index 
from 
(select split(the_list, ',') as sku_list, sku_id 
from data_table) b 
where array_contains(b.sku_list, b.sku_id) = TRUE; 

はこれではありません:

,array_position(b.sku_list, b.sku_id) as matched_index 

誤りである理由がされている組み込みのUDFハイブでarray_positionため。一致した値のインデックスを取得するソリューションはありますか?

答えて

0

ハイブによってネイティブにサポートされているUDFのインデックスはありません。

ただし、Brickhouseにはarray index of UDFがあります。

関連する問題