gpt4 book ai didi

hadoop - 在 Pig 脚本中获取意外符号

转载 作者:可可西里 更新时间:2023-11-01 16:59:38 27 4
gpt4 key购买 nike

我正在使用 pig 读取文件,并希望将这些数据传递给 java 方法并对记录进行计数。但是我遇到了异常,请帮助我了解为什么会遇到此异常

REGISTER /user/rakeshar/test.jar
DEFINE Test com.msdw.rakesh.Test;
temperature = LOAD 'NYQ_MWDATA_ge2_fact.csv' USING PigStorage(',') AS (period_fundmtls_id:int, metric_def_id:int, real_value:double, currency_unit_id:int, observation_type_cd:chararray, non_currency_unit_id:int);
return_val = com.msdw.rakesh.Test(temperature);
DUMP return_val;

在上面的代码中,我在第 4 行出错,下面是异常

557506 [main] ERROR org.apache.pig.tools.grunt.Grunt  - Failed to parse: <line 3, column 0>  Syntax error, unexpected symbol at or near 'return_val'
at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:235)

请帮帮我,因为我是 hadoop 和 pig 的新手。

最佳答案

你必须做一个投影来调用这样的 UDF:

return_val = FOREACH temperature GENERATE com.msdw.rakesh.Test(*);

如果你想做一些操作,比如temperature中的记录总数,做

X = GROUP temperature ALL;
return_val = FOREACH XGENERATE com.msdw.rakesh.Test(temperature);

您可能知道,pig 中已经有计数功能。此外,您还需要考虑可伸缩性。看这里http://chimera.labs.oreilly.com/books/1234000001811/ch10.html .

关于hadoop - 在 Pig 脚本中获取意外符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25929461/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com