Hadoop配置单元从阵列获取位置
我使用array_contains函数来查找数组中的项,它工作得很好。我要寻找的是一个返回匹配数组的索引的数组Hadoop配置单元从阵列获取位置,hadoop,hive,Hadoop,Hive,我使用array_contains函数来查找数组中的项,它工作得很好。我要寻找的是一个返回匹配数组的索引的数组 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) =
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。有没有获得匹配值索引的解决方案?没有hive本机支持的UDF索引
然而,砖厂有一个UDF 没有hive本机支持的UDF索引 然而,砖厂有一个UDF 您可以使用。它提供了
array\u position
和其他许多数组功能。您可以使用。它提供array\u position
等多种数组功能