如何在Apache PIG中对日期进行排序?

时间:2016-03-02 12:23:02

标签: hadoop mapreduce hive apache-pig hdfs

我的文本文件包含yyyy-month-days

dates.txt格式的以下日期
1999-01-20
2000-09-22
1995-06-10
2001-11-23

A = LOAD 'dates.txt' USING PigStorage('\n') AS (date:chararray);
B = FOREACH A GENERATE ToDate(date, 'yyyy-mm-dd') AS date;

现在我想使用APACHE PIG对这些日期进行排序。我现在被困住了。

在这方面有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

就像你会对任何其他类型进行排序一样。

C = order B by date;
dump C;

答案 1 :(得分:0)

请尝试以下查询。希望有帮助

A = LOAD 'dates.txt' USING PigStorage('\n') AS (date:chararray);
B = FOREACH A {
x=(date)ToDate(date, 'yyyy-mm-dd');
Generate ToUnixTime(x) as unixDTime,x as dateTime};
C=order B by unixDTime;

grunt>>dump C;

订购dateTime会在执行map reduce job时抛出joda时间错误。