我在源文本文件中有一些日期值,如下面的第 3 列
123|text|2000-02-05 01:00:00-0500|true
如何将它们转换为 Pig latin 中相应的 long 值?谢谢。
a = load 'test.txt';
b = <what should be here>(a);
dump b; --output contains long value for column 3
我在源文本文件中有一些日期值,如下面的第 3 列
123|text|2000-02-05 01:00:00-0500|true
如何将它们转换为 Pig latin 中相应的 long 值?谢谢。
a = load 'test.txt';
b = <what should be here>(a);
dump b; --output contains long value for column 3
您可以使用Piggybank中的 UDF 使用CustomFormatToISO UDF将日期字符串转换为 ISO 格式,然后使用ISOToUnix UDF将 ISO 格式的日期转换为 Unix 毫秒。
从 pig 0.11 开始,您可以使用 DateTime 类型并调用ToUnixTime内置 UDF。
您也可以针对该问题编写自己的 UDF,这非常简单。