【发布时间】:2014-06-10 05:31:36
【问题描述】:
数据如下:
col1 Col2 pathstr
3 5 some_string_a> some_string_b>some_string_c
8 6 some_string_d> some_string_e>some_string_f
第三列“pathstr”是有顺序的路径数据。我的用户爆炸功能如下:
SELECT col1, col2, path,
FROM table_paths
LATERAL VIEW explode(split(pathstr,'>')) subView as path;
得到以下结果:
3 5 some_string_a
3 5 some_string_b
3 5 some_string_c
8 6 some_string_d
8 6 some_string_e
8 6 some_string_f
但是,展开的数据会丢失路径字符串的顺序信息。我想知道我是否可以生成一个额外的“序列”列,如下所示。或者有更好的方法来做到这一点。
3 5 some_string_a, 1
3 5 some_string_b, 2
3 5 some_string_c, 3
8 6 some_string_d, 1
8 6 some_string_e, 2
8 6 some_string_f, 3
【问题讨论】:
-
查看github.com/klout/brickhouse/wiki/Collect-UDFs,有几种处理数组的方法应该会有所帮助。
-
谢谢!我最终写了一个UDF来处理这种情况