2

我写了一个 LoadFunc 函数,它允许我选择一个非结构化的巨大日志文件的给定关键字。如何将元组作为参数传递给我的函数?

就像是

A = load '/input/*' using MyLoader('keyword1','keyword2');

或者

A = load '/input/*' using MyLoader( ('keyword1','keyword2') );

导致错误:

grunt> a = LOAD '/input/*' USING MyLoader( ('keyword1','keyword2') );     
2012-08-28 19:44:04,331 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: <line 3, column 36>  mismatched input '(' expecting RIGHT_PAREN
Details at logfile: /home/hadoop/pig-0.10.0/pig_1346159261142.log
4

1 回答 1

2

实际上,Pig LoadFunc 只能接受其构造函数的字符串参数。请参阅http://mail-archives.apache.org/mod_mbox/pig-user/201302.mbox/%3CCAO8ATY27UOdcgSjdh19F=iHsnFEAwmzedWbsnZ66sNvcsjfgog@mail.gmail.com%3E

出于您的目的,我会将 CSV 作为字符串传递给您的 LoadFunc,然后在 LoadFunc 的构造函数中对其进行解析。

于 2013-03-11T21:11:38.590 回答