有人可以提供日期时间功能的完整示例,包括'注册'罐子?我一直试图让CurrentTime()和ToDate()运行起来没有太大的成功。我在classpath中有piggybank jar并注册了相同的内容。但它始终表示必须在使用前定义该功能。 在此之前我读过这个问题comparing datetime in pig。
答案 0 :(得分:1)
使用本地猪可以轻松实现日期时间功能,您无需去皮卡罐。
示例:强>
在这个例子中,我将从输入文件中读取一组日期,获取当前日期时间并计算上一个和当前日期之间的总天数
input.txt
2014-10-12T10:20:47
2014-08-12T10:20:47
2014-07-12T10:20:47
<强> PigScript:强>
A = LOAD 'input.txt' AS (mydate:chararray);
B = FOREACH A GENERATE ToDate(mydate) AS prevDate,CurrentTime() AS currentDate,DaysBetween(CurrentTime(),ToDate(mydate)) AS diffDays;
DUMP B;
<强>输出:强>
(2014-10-12T10:20:47.000+05:30, 2014-12-12T10:39:15.455+05:30, 61)
(2014-08-12T10:20:47.000+05:30, 2014-12-12T10:39:15.455+05:30, 122)
(2014-07-12T10:20:47.000+05:30, 2014-12-12T10:39:15.455+05:30, 153)
你可以参考我以前的帖子中的几个例子
Human readable String date converted to date using Pig?
Storing Date and Time In PIG
how to convert UTC time to IST using pig