【发布时间】:2021-08-31 11:57:47
【问题描述】:
我正在尝试通过保持原始顺序将字符串数组转换为 int 数组 这是我的数据的示例:
id attribut string_array
id1 attribut1, 10283:990000 ["10283","990000"]
id2 attribut2, 10283:36741000 ["10283","36741000"]
id3 attribut3, 10283:37871000 ["10283","37871000"]
id4 attribut4, 3215:90451000 ["3215","90451000"]
这是我如何将字段“string_array”转换为整数数组
select
id,
attribut,
string_array,
collect_list(cast(array_explode as int)),
from table
lateral view outer explode(string_array) r as array_explode
它给了我:
id attribut string_array int_array
id1 attribut1,10283:990000 ["10283","990000"] [990000,10283]
id2 attribut2,10283:36741000 ["10283","36741000"] [10283,36741000]
id3 attribut3,10283:37871000 ["10283","37871000"] [37871000,10283]
id4 attribut4,3215:90451000 ["3215","90451000"] [90451000,3215]
如您所见,“字符串数组”中的顺序没有保留在“int_array”中,我需要它与“string_array”中的完全相同。 有谁知道如何做到这一点?
任何帮助将不胜感激
【问题讨论】:
标签: arrays hive type-conversion hiveql collect