我有一个模式,描述各种文章中单词的tf-idf值。 它的描述是这样的:如何从Pig中的关系生成自定义模式?
tfidf_relation: {word: chararray,id: bytearray,tfidf: double}
这里有一个这样的数据的一个例子:
(cat,article_one,0.13515503603605478)
(cat,article_two,0.4054651081081644)
(dog,article_one,0.3662040962227032)
(apple,article_three,0.3662040962227032)
(orange,article_three,0.3662040962227032)
(parrot,article_one,0.13515503603605478)
(parrot,article_three,0.13515503603605478)
我想在一个形式输出: 猫article_one 0.13515503603605478,article_two 0.4054651081081644 等。 问题是,我如何从这个包含单词字段和id和tfidf字段元组的关系? Someting like:
X = FOREACH tfidf_relation GENERATE word, (id, tfidf);
不起作用。这是什么正确的语法?
Wojtek,我已经尝试过不同形式的解决方案 - 每次解析错误发生在符号“{”。 – user710450 2011-04-19 20:01:44
好吧,我认为我已经实现了这个使用Java例程嵌入。但正确的猪语法(和可能性本身)仍然是有趣的。 – user710450 2011-04-19 20:52:23
X.(id,tfidf)呢?你总是可以按字组合,然后拼合组合(如果我记得这样的话),但是可能更简单的方法就是编写快速的UDF。 – wlk 2011-04-19 22:55:29