arrays - 返回 Hive 中数组中项目的索引

标签 arrays hive

我有一个产品的已发布版本数组,如下所示:

version_release    
[1, 2, 5, 7, 8, 9]

我希望能够在知道相关版本的情况下找到产品的下一个(或上一个)版本。

例如,我正在查看版本 7,下一个版本是 8,上一个版本是 5。

在 hive 中,有没有办法

  1. 在数组(4)中找到“7”的索引
  2. 增加(或减少)该索引以分别返回“8”(索引 5)或“5”(索引 3)?

最佳答案

就地操作数组不是很像 SQL。您可以先尝试“PosExplode()”该列,为每个数组值生成 1 条记录,然后将值与相邻位置(1 对 2、2 对 3...)连接起来以获得继承感。

或者可能是 BrickHouse library对您的用例有更有效的东西。

关于arrays - 返回 Hive 中数组中项目的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32335618/

相关文章:

hadoop - Cube.js 作为报告工具

sql - 如何将 int (yyyymmdd) 转换为 SQL 中的时间戳?

c# - 如何将 int[] 转换为 short[]?

javascript - 仅获取数组中的最后一个日期

javascript - 如何正确释放JavaScript变量的内存?

c - 在 C 中将 char* 反序列化为结构体

c# - 如何在 ASP.NET Web API C# 中返回 JSON 数组

hadoop - 使用带有回车符的HIVE-Error在Hadoop中加载电子邮件数据

hadoop - 如何从配置单元中的字符串解析日期?

hadoop - HIVE - 逃避双引号问题