猪 - 日期字符串到长转换

时间:2013-03-25 16:03:26

标签: apache-pig

我在源文本文件中有一些日期值,如下面的第3列

123|text|2000-02-05 01:00:00-0500|true

如何在Pig latin中将它们转换为相应的长值?感谢。

a = load 'test.txt';
b = <what should be here>(a);
dump b; --output contains long value for column 3

1 个答案:

答案 0 :(得分:3)

您可以使用Piggybank中的UDF使用CustomFormatToISO UDF将日期字符串转换为ISO格式,然后使用ISOToUnix UDF将ISO格式的日期转换为Unix毫秒。

从pig 0.11开始,您可以使用DateTime类型并调用ToUnixTime内置UDF。

您也可以针对该问题编写自己的UDF,这非常简单。