2016-11-09 3 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 не поддерживается улей.

Однако в Кирпичном доме есть array index of UDF.

Смежные вопросы