0

我是 PIG 的新手。从 pig wiki 页面,我知道有 piggybank udf 和另一个来自 Linkedin 的有用集合 DataFu。我也知道,从 Pig 0.8 开始,piggybank 是 apache Pig 的内置 udfs 的一部分。

但是..我认为大多数piggybank UDF都没有记录在Apache Pig中。像 StringConcat 一样。

我正在寻找一些日期格式化 UDF,它们会将日期时间转换为像 FormatDate 这样的字符串。我不确定我们是否已经在 pig/piggybank 中拥有这些 UDF,因为我在文档中找不到它。

此外,是否有任何其他 3rd 方 udfs java/python 可用。请列出那些。

非常感谢您的帮助。

4

1 回答 1

2

所以这里有几个问题。我会尽力涵盖所有内容。

存钱罐文件

(遗憾的是)没有用户手动为 piggybank UDF 解释如何在 pigscript 中使用它们中的每一个。但是,Pig javadoc 包含在 piggy bank 中实现 UDF 的每个 java cass 的信息(向下滚动到“contrib: Piggybank”):

字符串到日期时间

(假设猪 < 0.11)

要转换包含时间信息的字符串,您需要使用CustomFormatToISO UDF。这会将您的 chararray 与数据信息和日期时间格式规范一起转换为 ISO 日期时间格式。一旦采用这种格式,就有几个 Piggybank 函数可以在 ISO 格式化时间上运行:

另请注意,ISO 格式的字符串比较会导致日期排序。这意味着您可以对它们应用比较和排序操作,它们的行为就好像它们具有时间意识一样。有关更多背景信息,请参阅此 SO 答案:https ://stackoverflow.com/a/9576911/9940

如果您使用的是 0.11 plus,您可以使用内置的 ToDate() 函数: http: //pig.apache.org/docs/r0.11.1/func.html#to-date

于 2013-10-08T22:33:38.897 回答