我有一个关于我正在编写的PIG脚本的查询。
如何在PIG脚本中获取当前的Unix时间戳。 我是否需要任何UDF ...或者PIG能为我提供currnet时间戳吗?
请建议我。 感谢
答案 0 :(得分:5)
我指的是两个解决方案
第一个:
使用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' ;
答案 1 :(得分:1)
您确实需要使用UDF。好消息是它随猪一起出货。它被称为CurrentTime
。查看所有内置函数的docs page here。