hive 遍历array
时间: 2023-06-30 22:22:15 浏览: 194
在 Hive 中,你可以使用 `LATERAL VIEW EXPLODE()` 来遍历数组中的元素。这个操作会将数组中的每个元素展开成一行记录,从而方便对数组中的元素进行处理。
例如,假设你有一个包含 `id` 和 `values` 两列的表 `my_table`,其中 `values` 是一个 `ARRAY<STRING>` 类型的数组,你可以使用以下语句来遍历数组:
```
SELECT id, value FROM my_table LATERAL VIEW EXPLODE(values) my_table_exploded AS value;
```
这会将 `values` 数组中的每个元素展开成一行记录,每行记录包含 `id` 和 `value` 两个列,其中 `value` 列对应于数组中的一个元素。你可以在 `SELECT` 子句中使用任何你需要的函数或表达式来处理这些元素。
如果你需要对数组中的元素进行聚合操作,可以在 `SELECT` 子句中使用聚合函数,例如 `COUNT()`、`SUM()`、`AVG()` 等等。例如:
```
SELECT id, COUNT(value) AS value_count FROM my_table LATERAL VIEW EXPLODE(values) my_table_exploded AS value GROUP BY id;
```
这会返回一个包含 `id` 和 `value_count` 两列的结果集,其中 `value_count` 表示每个 `id` 对应的 `values` 数组中的元素个数。
阅读全文