【问题标题】:Error while excecuting UDF in PIG在 PIG 中执行 UDF 时出错
【发布时间】:2013-03-20 13:42:36
【问题描述】:

我正在尝试使用示例运行我的第一个 UDF

http://wiki.apache.org/pig/UDFManual。 现在我有我的 FirstUdf.jar,myscript.pig 都在同一个文件夹中

我的myscript.pig如下

  REGISTER FirstUdf.jar; A = LOAD '/home/vishal/exampleforPIG1' AS
 (exchange: chararray, symbol: chararray, date: int,value:float);  

B =FOREACH A GENERATE myudfs.UPPER(symbol);

转储 B;

现在当我给出以下命令来运行我的脚本时,它给了我以下错误

命令--

java -cp FirstUdf.jar home/vishal/FirstUdf.jar -x local myscript.pig

以下错误--

ERROR 1000:解析时出错。遇到“java” 在第 1 行第 1 列。

我给的命令是错误的还是有什么问题

【问题讨论】:

    标签: user-defined-functions apache-pig


    【解决方案1】:

    您可以尝试以下方法:

    硬编码您拥有的自定义 UDF 的路径:

    REGISTER '/path/to/FirstUdf.jar';
    DEFINE myUDF com.example.MyUDF();
    ...
    
    Then:
    pig -f myscript.pig -x local
    

    ...或将其作为命令行参数传递:

    REGISTER '$UDF_PATH/FirstUdf.jar';
    DEFINE myUDF com.example.MyUDF();
    ...
    
    Then:
    pig -f myscript.pig -param UDF_PATH=/path/to -x local
    

    【讨论】:

    • HI Lonard,感谢您的回复....我对 'Firstudf.jar 是否应该放在存钱罐或任何地方还有一个疑问
    • Firstudf.jar 不应该在 Piggybank 目录中,只需选择一个合适的位置来存储您的自定义 jar。
    • @vishal1985 另一方面,可以将问题恢复为您提出的原始问题,因为现在问题和我的答案不同步。整个事情看起来有点模棱两可。只需针对您遇到的其他问题创建一个新问题。
    • 在您的用户资料/活动选项卡下,您可以看到您的问题的修订
    猜你喜欢
    • 2013-04-27
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多