gpt4 book ai didi

hadoop - 具有附加列的 Hive UDTF

转载 作者:可可西里 更新时间:2023-11-01 14:44:52 27 4
gpt4 key购买 nike

我希望这个问题的答案是“否”,但无论如何……

我有一个包含键和数组的表。典型的行可能如下所示:

98c28560-4b48-11e3-9c12-07373d47725c segment-a,segment-b,segment-c

我希望这一行产生三行:

98c28560-4b48-11e3-9c12-07373d47725c segment-a
98c28560-4b48-11e3-9c12-07373d47725c segment-b
98c28560-4b48-11e3-9c12-07373d47725c segment-c

使用最新版本的 Hive 中可用的标准 UDF。

有没有办法做到这一点?

最佳答案

您可以合并 lateral viewexplode .
例如:
给定一个包含列 guid (string)segs (array )

的表 test
select * from test
99999999-4b48-11e3-9c12-07373d47725c ["segment-a1","segment-b1","segment-c1"]
98c28560-4b48-11e3-9c12-07373d47725c ["segment-a2","segment-b2","segment-c2"]

select guid, seg from test lateral view explode(segs) x as seg;

99999999-4b48-11e3-9c12-07373d47725c segment-a1
99999999-4b48-11e3-9c12-07373d47725c segment-b1
99999999-4b48-11e3-9c12-07373d47725c segment-c1
98c28560-4b48-11e3-9c12-07373d47725c segment-a2
98c28560-4b48-11e3-9c12-07373d47725c segment-b2
98c28560-4b48-11e3-9c12-07373d47725c segment-c2

注意:
hive 0.12

关于hadoop - 具有附加列的 Hive UDTF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19920245/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com