|
|
1
6
尼尔斯 tokenize接受一个分隔符参数,因此您可以使它拆分每个字母;但是我想不出一种方法使它产生 重叠 令牌。 不过,用pig编写一个UDF非常简单。您只需实现一个名为evalfunc的简单接口(详细信息如下: http://wiki.apache.org/pig/UDFManual )PIG是围绕着用户编写自己的函数来处理大多数事情的想法而构建的,因此编写自己的UDF是一种常见而自然的事情。 一个更简单的选择,虽然效率不高,但是使用猪流来通过脚本传递数据(我发现加快Perl或Python脚本的速度比执行一次性任务的Java类要快)。这里有一个例子: http://www.cloudera.com/blog/2009/06/17/analyzing-apache-logs-with-pig/ --它演示了一个预先存在的库、一个Perl脚本、一个UDF,甚至一个动态awk脚本的使用。 |
|
|
2
6
以下是在不编写自定义UDF的情况下,如何使用pig流和python执行此操作: 假设您的数据只是一列单词。处理事情的python脚本(我们称之为wordseq.py)是:
然后,在您的pig脚本中,您告诉pig您正在使用上述脚本的流式处理,并希望根据需要发送脚本:
|
|
|
3
5
使用Piggybank库。 这样使用:
|