要求是在Pig中过滤特定日期的记录。所以样本数据如下:
target="_blank"
在上述情况下,我们只需要前3次点击。所以过滤条件是start_time == 02:05:00和结束时间== 02:06:00
猪有什么办法可以实现吗?我浏览了所有内置函数,但所有函数都是特定于日期的。没有在时间部分工作。
如果您需要更多相关信息,请告诉我。
答案 0 :(得分:0)
GetMinute可以帮助您过滤记录。使用第一列创建新的列分钟并使用它来过滤记录。
请注意,您可以在其他每小时时间戳中使用相同的分钟值,在这种情况下,您可以创建一个小时列并在过滤器中使用它。
如果你的date_time列已经是数据类型datetime,那么在date_time列上应用GetHour(),GetMinute()而不使用Todate()函数。
B = FOREACH A GENERATE date_time,GetHour(ToDate(date_time,'yyyy-MM-dd HH:mm:ss')) as hour,GetMinute(ToDate(date_time,'yyyy-MM-dd HH:mm:ss')) as minute,visits,counts;
C = FILTER B BY (hour == 2 AND minute == 5);