pig第三方自定义项澄清

uttx8gqw  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(238)

我对Pig不熟悉。从PigWiki页面我知道了PiggybankUDF和linkedin的另一个有用的数据集datafu。我还知道,从Pig0.8开始,piggybank是ApachePig内置UDF的一部分。
但是。。我认为大多数piggybank自定义项都没有在apachepig中记录。像丝状海螺。
我正在寻找一些日期格式自定义项将转换为字符串像formatdate的datetime。我不确定这些自定义项是否已经在pig/piggybank中,因为我在文档中找不到它。
另外,是否还有其他第三方udfs java/python可用。请列出那些。
非常感谢你的帮助。

vltsax25

vltsax251#

所以这里有几个问题。我会尽力把它们都盖上。
小Pig银行文件
遗憾的是,PiggybankUDF没有用户手动解释如何在pigscript中使用它们。但是,pig javadoc包含每个在piggy bank中实现udf的java cas的信息(向下滚动到“contrib:piggybank”):
http://pig.apache.org/docs/r0.8.1/api/overview-summary.html
http://pig.apache.org/docs/r0.9.1/api/overview-summary.html
http://pig.apache.org/docs/r0.10.0/api/overview-summary.html
字符串到日期时间
(假设清管器<0.11)
要转换包含类时间信息的字符串,您需要使用customformattoiso udf。这会将您的字符与数据信息和日期时间格式规范结合起来,并将其转换为iso日期时间格式。一旦采用这种格式,就有几个piggybank函数在iso格式的时间上运行:
http://pig.apache.org/docs/r0.10.0/api/org/apache/pig/piggybank/evaluation/datetime/truncate/package-summary.html
http://pig.apache.org/docs/r0.10.0/api/org/apache/pig/piggybank/evaluation/datetime/diff/package-summary.html
还要注意,iso格式的字符串比较会导致日期排序。这意味着您可以对它们应用比较和排序操作,它们的行为就好像它们是时间感知的一样。有关更多背景信息,请参阅以下答案:https://stackoverflow.com/a/9576911/9940
如果使用的是0.11 plus,则可以使用内置的todate()函数:http://pig.apache.org/docs/r0.11.1/func.html#to-日期

相关问题