这个,这个,还有这个,没有解决我的问题。他们都在制作自己的自定义项。我想使用一个内置的自定义项。任何内置的自定义项。我尝试过的每个自定义项都会出现相同或类似的错误。
FOO = LOAD 'filepath/data.csv'
USING PigStorage(',')
AS (name:string, age:int, kilograms:double);
BAR = FOREACH FOO GENERATE $0, $1, $2, kilograms*2.2 AS pounds;
这和预期的一样,基本上创建了与foo相同的关系,但是有一个额外的列将kg转换为lbs。
但是如果我想用,比如说,得到公斤的对数刻度,像这样:
BAR2 = FOREACH FOO GENERATE $0, $1, $2, log(kilograms) AS logscaleKG;
出现以下错误(或类似错误):
ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1070: Could not resolve log using imports: [, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.]
似乎没有自定义项在foreach生成中起作用。
1条答案
按热度按时间ifsvaxew1#
Pig对资本化有点挑剔,你需要资本化
log
. 例如,我可以在一个新的hortonworks沙盒上运行这段代码。