嗨!
我有一个id为:chararray和date:chararray的数据集。现在,我想将数据集过滤到以:
开头的那些行如果当月的第一天是星期日,请选择当月的所有星期日。
否则请选择上个月的最后一个星期日和当月的所有星期日。
所以,对于下面给出的
12456, 27-04-2014 (last Sunday of the previous month)
33578, 29-04-2014 (not Sunday)
43789, 04-05-2014 (Sunday)
57689, 06-05-2014 (not Sunday)
67890, 11-05-2014 (Sunday)
67845, 13-05-2014 (not Sunday)
57689, 18-05-2014 (Sunday)
33578, 25-05-2014 (Sunday)
输出为
12456, 27-04-2014 (last Sunday of the previous month)
43789, 04-05-2014 (Sunday)
67890, 11-05-2014 (Sunday)
57689, 18-05-2014 (Sunday)
33578, 25-05-2014 (Sunday)
那么,有没有办法可以轻松找到当月的星期日,如果该月的第一天不是星期日,则选择上个月的最后一个星期日。
我可以使用所有Date函数,例如Pig中的DaysBetween和GetDay。
答案 0 :(得分:0)
来自Apache PIG: Get the day of the week and split accordingly
(DaysBetween(ToDate('03-10-2013','dd-MM-YYY'),ToDate(0L)) + 4L) % 7
然后,您可以过滤返回的值