我编写了一个LoadFunc函数,允许我选择非结构化的巨大日志文件的给定关键字。如何将Tuple作为参数传递给我的函数?
像
这样的东西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
答案 0 :(得分:2)
实际上,Pig LoadFunc只能接受其构造函数的String参数。见http://mail-archives.apache.org/mod_mbox/pig-user/201302.mbox/%3CCAO8ATY27UOdcgSjdh19F=iHsnFEAwmzedWbsnZ66sNvcsjfgog@mail.gmail.com%3E。
出于您的目的,我将CSV作为字符串传递给您的LoadFunc,然后在LoadFunc的构造函数中解析它。