如何在 PIG 中获取当前时间戳
Posted
技术标签:
【中文标题】如何在 PIG 中获取当前时间戳【英文标题】:How to get the current time stamp in PIG 【发布时间】:2015-03-23 09:29:02 【问题描述】:我有一个关于我正在编写的 PIG 脚本的查询。
如何在 PIG 脚本中获取当前的 Unix 时间戳。? 我是否需要任何 UDF .. 或者 PIG 可以为我提供当前时间戳?
请给我建议。 谢谢
【问题讨论】:
【参考方案1】:我指的是两个解决方案
第一个:
使用 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' ;
【讨论】:
【参考方案2】:您确实需要使用 UDF。好消息是它随 Pig 一起提供。它被称为CurrentTime
。查看所有内置函数的docs page here。
【讨论】:
以上是关于如何在 PIG 中获取当前时间戳的主要内容,如果未能解决你的问题,请参考以下文章