【问题标题】: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 时间错误。

      【讨论】:

        猜你喜欢
        • 2019-09-21
        • 1970-01-01
        • 2017-02-23
        • 1970-01-01
        • 2021-12-21
        • 1970-01-01
        • 2015-06-28
        • 1970-01-01
        • 2018-03-30
        相关资源
        最近更新 更多