count_pairs
显示单词对和看到的次数。前((car,tire), 4)
。第二个是word_counts
,它跟踪每个单词被看到的次数。 (car, 20)
。我想找到每对看到的次数的百分比与看到的第一个单词的次数相比。在我们的例子中,我想要((car,tire), 4/20)
。我试着写一个嵌套的foreach来解决这个问题:
> percent_count_pairs = FOREACH count_pairs {
> denom = FILTER word_counts BY ($0 ==count_pairs.pair.word1);
> GENERATE pair, count2/(double)denom.$1;}
我一直收到这个错误:
'Pig script failed to parse:
<file src/cluster.pig, line 27, column 15> expression is not a project expression: (Name: ScalarExpression) Type: null Uid: null)'
这指向FILTER
的行;
谷歌搜索这个错误并没有让我有所帮助。请帮忙!
(ps。如果我从foreach中取出FILTER
行,这确实有效。)
答案 0 :(得分:2)
经过更多的谷歌搜索后,我意识到这是Pig中的一个错误,不允许这样: https://issues.apache.org/jira/browse/PIG-1798。我最终编写了自己的UDF进行过滤。