我在源文本文件中有一些日期值,如下面的第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
答案 0 :(得分:3)
您可以使用Piggybank中的UDF使用CustomFormatToISO UDF将日期字符串转换为ISO格式,然后使用ISOToUnix UDF将ISO格式的日期转换为Unix毫秒。
从pig 0.11开始,您可以使用DateTime类型并调用ToUnixTime内置UDF。
您也可以针对该问题编写自己的UDF,这非常简单。