2

我在源文本文件中有一些日期值,如下面的第 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
4

1 回答 1

3

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

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

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

于 2013-03-25T16:33:46.843 回答