是否可以一步将数组投影到配置单元中的单独列中?
我有这个查询
select split(activity_data,":") as ad from log_table
其中列广告包含 10 个单独的字段,我想将它们投影到 10 列中。
是否可以一步将数组投影到配置单元中的单独列中?
我有这个查询
select split(activity_data,":") as ad from log_table
其中列广告包含 10 个单独的字段,我想将它们投影到 10 列中。
对的,这是可能的。我知道有两种方法可以做到这一点:
使用索引访问数组元素:
选择 split(activity_data,":")[0] as col1, split(activity_data,":")[1] as col2 ... from mpod_audit_log
在这篇文章中进行了解释。在 Hive 中分解结构数组
我是这样做的:通过直接使用数组索引在以下位置创建单独的列Hive
:
示例table
列datatype
:tbl_name(eid bigint
,array
< double
>as
支出)
select eid, spendings[0] as spendings_1, spendings[1] as spendings_2...
from tbl_name;