我有一个产品的已发布版本数组,如下所示:
version_release
[1, 2, 5, 7, 8, 9]
我希望能够在知道相关版本的情况下找到产品的下一个(或上一个)版本。
例如,我正在查看版本 7,下一个版本是 8,上一个版本是 5。
在 hive 中,有没有办法
- 在数组(4)中找到“7”的索引
- 增加(或减少)该索引以分别返回“8”(索引 5)或“5”(索引 3)?
最佳答案
就地操作数组不是很像 SQL。您可以先尝试“PosExplode()”该列,为每个数组值生成 1 条记录,然后将值与相邻位置(1 对 2、2 对 3...)连接起来以获得继承感。
或者可能是 BrickHouse library对您的用例有更有效的东西。
关于arrays - 返回 Hive 中数组中项目的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32335618/