【问题标题】:how to sort dates in Apache PIG?如何在 Apache PIG 中对日期进行排序?
【发布时间】:2016-03-02 12:23:01
【问题描述】:
我有一个包含以下日期的文本文件,格式为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 对这些日期进行排序。在这一点上我被困住了。
有人可以在这方面帮助我吗?
【问题讨论】:
标签:
hadoop
mapreduce
hive
apache-pig
hdfs
【解决方案1】:
就像您对任何其他类型进行排序一样。
C = order B by date;
dump C;
【解决方案2】:
请尝试以下查询。希望对您有所帮助
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 作业时引发 joda 时间错误。