猪第三方UDF澄清

时间:2013-10-02 15:01:06

标签: apache-pig

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

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

我正在寻找一些日期格式化UDF,它会将datetime转换为String,就像FormatDate一样。 我不确定我们是否已将这些UDF放在猪/储钱罐中,因为我在文档中找不到它。

此外,还有其他第三方udfs java / python可用。请列出那些。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

所以这里有几个问题。我会尽力掩盖它们。

PiggyBank文档

可悲的是,没有用户手动为piggybank UDF解释如何在pigcript中使用它们。但是,Pig javadoc包含了在存储库中实现UDF的每个java cass的信息(向下滚动到“contrib:Piggybank”):

String to DateTime

(假设猪<0.11)

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

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

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