我有一个日期为2014-11-02 16:57:29。我想把它转换成long,我该怎么做呢?
DEFINE ISOToUnix org.apache.pig.piggybank.evaluation.datetime.convert.ISOToUnix();
DEFINE CustomFormatToISO org.apache.pig.piggybank.evaluation.datetime.convert.CustomFormatToISO();
ISOin = LOAD '/user/sample/test.csv' USING PigStorage() AS (dt:chararray, dt2:chararray);
toUnix = FOREACH ISOin GENERATE ISOToUnix(CustomFormatToISO(dt, 'YYYY-MM-DD HH:MM:SS')) AS event_time;
DUMP toUnix;test.csv包含2014-11-02 16:57:29 2014-11-02 13:13:05
我得到了
[名称: POUserFunc(org.apache.pig.piggybank.evaluation.datetime.convert.ISOToUnix)long -POUserFunc-5运算符键: scope-5)子: null at []:java.lang.NullPointerException。
有人能帮帮我吗。谢谢
发布于 2015-04-02 14:30:45
ISOToUnix(CONCAT(替换(dt,‘','T'),’.000Z‘)看起来是一个很好的快速回答。在这里,我们将字符串转换为iso,然后使用有效时区使用ISOToUnix。
https://stackoverflow.com/questions/29413624
复制相似问题