我试图使用Pig从作业描述关系中删除停用词。然而,我无法加入两种关系,以便将停用词与我的文字相匹配。
我还有630个英语停用词的列表:
在Pig中,我正在加载这两个文件并按以下方式转换第一个文件:
descrFlat
grunt> describe descrFlat
descrFlat: {id: chararray,bag_of_tokenTuples_from_descr::token: chararray}
现在看起来像这样:
J = JOIN stopwords BY $0 RIGHT OUTER, descrFlat BY $0;
与this和this示例类似,我现在正尝试对两个文件进行外联接......
J
...导致grunt> describe J
J: {stopwords::word: chararray,descrFlat::id: chararray,descrFlat::bag_of_tokenTuples_from_descr::token: chararray}
的以下结构:
K = FILTER J BY $0 IS NULL;
然而,这并不是使用grunt> dump J
所需的结果;数据只是胡言乱语:
{{1}}
这可能是因为我使用了一包令牌元组而不是上述示例中的简单元组。
答案 0 :(得分:0)
我发现了自己的错误。以下是descrFlat中的第一列,而它应该指的是第二列($1
),其中包含单词。此外,删除不必要的标点有帮助。
J = JOIN stopwords BY $0 RIGHT OUTER, descrFlat BY $0;