Sql 从配置单元中的数组列中拾取分隔值

Sql 从配置单元中的数组列中拾取分隔值,sql,hadoop,hive,Sql,Hadoop,Hive,我在配置单元中有一列,其数据类型为array。数组列中的示例元素如下所示 ["US:DE:%:DT:AMER:USA:CA:Hermitage:12:Wilmington:11:M:NC:Coffee:"] 数组列中的每个元素都由“:”分隔,如何根据配置单元中的数据选择第5个元素,即“AMER”。 我尝试了Split函数,但它失败了 “ClassCastException”错误 下面的代码有效 select split(bg_group , ':')[4] from ( select e

我在配置单元中有一列,其数据类型为array。数组列中的示例元素如下所示

["US:DE:%:DT:AMER:USA:CA:Hermitage:12:Wilmington:11:M:NC:Coffee:"]
数组列中的每个元素都由“:”分隔,如何根据配置单元中的数据选择第5个元素,即“AMER”。 我尝试了
Split
函数,但它失败了

“ClassCastException”错误

下面的代码有效

select  split(bg_group , ':')[4] from 
(
select 
explode( bg_group ) as bg_group from sql_data
) x

在此添加sampel查询从sql_数据中选择拆分(bg_组,“:”)[1]作为col1