Я хочу, чтобы какой-то уникальный идентификатор / номер_строки / счетчик был сгенерирован / добавлен в мою конструкцию foreach во время итерации по записям. Есть ли способ сделать это без написания UDF?
B = foreach A генерировать a_unique_id, field1, ... и т. Д.
Как мне реализовать этот 'a_unique_id'?
Спасибо!
Если вы используете pig 0.11 или более поздней версии, то оператор RANK - это именно то, что вы ищете.EG
RANK
DUMP A; (foo,19) (foo,19) (foo,7) (bar,90) (etc.,0) B = RANK A ; DUMP B ; (1,foo,19) (2,foo,19) (3,foo,7) (4,bar,90) (5,etc.,0)
Нет встроенной функции UUID в главном распределении свиней или копилке.К сожалению, я думаю, что единственным вариантом будет написание UDF.
Существует стандартный способ создания UUID , и есть Java-код, который вы можете использовать для сборки дляваш UDF.
Есть ли конкретная причина, по которой вы не хотите писать UDF?