我是Pig latin的初学者。我要求从csv中查找最近7天的记录,其中包含最近4年的数据。
任何人都可以帮助我理解这一点。
答案 0 :(得分:1)
更通用的方法是比较每行数据并检查它是否超过7天? 为此,我们需要捕获每行数据中的日期。假设数据集是关系dataSet,列字段为chararray类型的日期。
在Pig 0.11中,您可以使用ToDate()函数将日期字段从chararray转换为datetime数据类型,然后使用DaysBetween()获取CurrentTime()和date之间的差异,并根据它进行过滤。例如:
lastSevenDaysRec = FILTER dataSet BY DaysBetween(CurrentTime(), ToDate(date, 'yyyy MM dd')) <= 7
您可以查看following documentation以了解Pig Latin中不同日期时间功能的详细信息。您还可以查看ToDate函数中使用的有效格式
答案 1 :(得分:0)
假设您的数据集是A并且每天有一行,并且它有一个名为date的字段,您可以尝试类似于此的内容:
B = GROUP A BY date;
B = ORDER A BY group DESC;
B = LIMIT B BY 7;
然后,您将拥有按日期分组的最近七天记录。