У меня есть запрос относительно скрипта PIG, который я пишу.
Как я могу получить текущую временную метку Unix в скрипте PIG.? Нужен ли мне какой-либо UDF для этой цели.. или может ли PIG предоставить мне отметку времени currnet?
Пожалуйста, посоветуйте мне. благодаря
Я указываю два решения
первый:
используйте CurrentTime(), преобразуйте его в ToUnixTime(), чтобы получить метку времени.
Ex:
X = load "xx" ......... ;
X1 = FOREACH X GENERATE ToUnixTime(CurrentTime())
второй:
Передача из командной строки в качестве параметра.
pig -f myscript.pig --param timestamp=$(date +%s)
----in myscript.pig ----
%declare time '$timestamp ';
X1 = FOREACH X GENERATE '$time' ;
Вам нужно использовать UDF. Хорошая новость заключается в том, что она поставляется с Pig. Он называется CurrentTime
. Взгляните на страницу документов здесь для всех встроенных функций.