猪得到小时和分钟纪元时间戳,以毫秒为单位

时间:2015-10-29 21:51:29

标签: apache-pig

我在pig中有一列bytearray纪元时间戳,以毫秒为单位。我想知道如何得到这个时间戳的时间和分钟。

例如:

Hour(1441016271778) = 10
Minute(1441016271778) = 17

来自猪文档的GetHour和GetMinute无法正常工作,它会产生空值。

1 个答案:

答案 0 :(得分:1)

GetHour和GetMinute将DateTime对象作为输入。

参考:

  1. http://pig.apache.org/docs/r0.12.0/func.html#get-hour
  2. http://pig.apache.org/docs/r0.12.0/func.html#get-minute
  3. 输入:

    1441016271778
    

    猪脚本:

    A = LOAD 'input.csv'  USING  PigStorage(',') AS (epoch_time:long);
    B = FOREACH A GENERATE  GetHour(ToDate(epoch_time)) AS hour, GetMinute(ToDate(epoch_time)) AS min;
    

    输出

    (3,17)