0-需求
- 遍历字符串,并以一个字符一行的形式显示出来
- 如遍历"a,b,c,d,e,f"字符串,使其每个字符都生成一行记录
1-数据分析
在hive中为我们提供了强大的posexplode()函数,该函数对数组结构的数据进行行转列,并对数组中每一位都生成一个索引值.该函数强大之处就是为数组中每一位生成索引。因此我们可以利用该函数来生成字符串中的每一位的索引,达到遍历的效果。
- 具体如下所示:
select posexplode(split('a,b,c,d,e,f',','))
结果如下:
+------+------+--+
| pos | val |
+------+------+--+
| 0 | a |
| 1 | b |
| 2 | c |
| 3 | d