如何在PIG或HIVE中为行添加行号?

Bre*_*nen 5 hadoop hive apache-pig

使用Apache Pig添加行号时遇到问题.问题是我有一个STR_ID列,我想为STR_ID中的数据添加一个ROW_NUM列,这是STR_ID的行号.

例如,这是输入:

STR_ID
------------
3D64B18BC842
BAECEFA8EFB6
346B13E4E240
6D8A9D0249B4
9FD024AA52BA
Run Code Online (Sandbox Code Playgroud)

我如何获得如下输出:

   STR_ID    |   ROW_NUM
----------------------------
3D64B18BC842 |     1
BAECEFA8EFB6 |     2
346B13E4E240 |     3
6D8A9D0249B4 |     4
9FD024AA52BA |     5
Run Code Online (Sandbox Code Playgroud)

使用Pig或Hive的答案是可以接受的.谢谢.

Kes*_*ath 5

在蜂巢中:

询问

select str_id,row_number() over() from tabledata;
Run Code Online (Sandbox Code Playgroud)

输出

3D64B18BC842      1
BAECEFA8EFB6      2
346B13E4E240      3
6D8A9D0249B4      4
9FD024AA52BA      5
Run Code Online (Sandbox Code Playgroud)


Ste*_*nce 3

Facebook发布了许多 Hive UDF,包括 NumberRows。根据您的配置单元版本(我相信是 0.8),您可能需要向类添加一个属性(stateful=true)。