apache pig和用户定义函数

erhoui1w  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(350)

我正在尝试使用apachepig读取日志文件。读入该文件后,我想在python中使用自己的用户定义函数。我试图做的事情与下面的代码类似,但它会导致错误1066:无法打开别名b的迭代器,我无法通过google找到解决方案。

register 'userdef.py' using jython as parser;
A = LOAD 'test_data' using PigStorage() as (row);
B = FOREACH A GENERATE parser.split(A.row);
DUMP B;

但是,如果用空字符串“”替换.row,则函数调用将完成,并且不会出现错误(但也不会传递或处理数据)。
以字符串格式将数据行传递给udf的正确方法是什么?

jjjwad0x

jjjwad0x1#

不需要指定行、单独行或$0$0是第一列,$1是第二列。
小心,如果pigstorage找到任何分隔符,它会自动分割数据,所以行可能只是每行的第一个元素。
安东尼。

相关问题