我是拉丁Pig的初学者。我有一个要求,找到过去7天的记录,从csv包含过去4年的数据。谁能帮我理解这个。
b91juud31#
假设您的数据集是一个,每天有一行,并且它有一个名为date的字段,您可以尝试以下类似的操作:
B = GROUP A BY date; B = ORDER A BY group DESC; B = LIMIT B BY 7;
然后,您将按日期分组最近七天的记录。
oogrdqng2#
一个更通用的方法是比较每一行数据并检查它是否超过7天?为此,我们需要捕获每行数据中的日期。让数据集是一个关系数据集,列字段作为字符类型的日期。在pig0.11中,可以使用todate()函数将日期字段从chararray转换为datetime数据类型,然后使用daysbetween()获取currenttime()和date之间的差异,并根据它进行过滤。例如:
lastSevenDaysRec = FILTER dataSet BY DaysBetween(CurrentTime(), ToDate(date, 'yyyy MM dd')) <= 7
您可以查看以下文档,以详细了解不同的拉丁语日期时间函数。您还可以查看todate函数中使用的有效格式
2条答案
按热度按时间b91juud31#
假设您的数据集是一个,每天有一行,并且它有一个名为date的字段,您可以尝试以下类似的操作:
然后,您将按日期分组最近七天的记录。
oogrdqng2#
一个更通用的方法是比较每一行数据并检查它是否超过7天?为此,我们需要捕获每行数据中的日期。让数据集是一个关系数据集,列字段作为字符类型的日期。
在pig0.11中,可以使用todate()函数将日期字段从chararray转换为datetime数据类型,然后使用daysbetween()获取currenttime()和date之间的差异,并根据它进行过滤。例如:
您可以查看以下文档,以详细了解不同的拉丁语日期时间函数。您还可以查看todate函数中使用的有效格式