我在下面提到的文件中有一个数据
美国 美国 欧洲 欧洲 欧洲 欧洲 美国 美国 美国 美国 欧洲 欧洲 美国 欧洲 美国
我试图找出美国和欧洲的数量。
1) inp = LOAD '/user/countries.txt' as (singleline);
dump inp;
Output
(USA USA EUROPE EUROPE EUROPE EUROPE USA)
(USA USA EUROPE EUROPE USA)
(EUROPE USA)
Is this output in tuple...?
2) tknz = FOREACH inp GENERATE TOKENIZE(singleline) as Col_Words;
dump tknz;
Output
{(USA),(USA),(EUROPE),(EUROPE),(EUROPE),(EUROPE),(USA)}
{(USA),(USA),(EUROPE),(EUROPE),(USA)}
{(EUROPE),(USA)}
这个输出如何类似于标记化定义..?
定义说“将一串单词(单个元组中的所有单词)拆分为“一袋单词(单个元组中的每个单词)”
INTO a bag of words 定义中的语句看起来与输出相似,但是当我将输出与定义相关联时,我无法理解定义中“拆分一串单词(单个元组中的所有单词)”的含义。
所有单词都在单元组中..?
Tokenize 定义,“使用 TOKENIZE 函数将一串单词(单个元组中的所有单词)拆分为一个单词袋(单个元组中的每个单词)。以下字符被认为是单词分隔符:空格、双引号("), coma(,) 括号(()), star(*)."
有什么帮助...?
您需要使用FLATTEN和 TOKENIZE 来取消嵌套包/元组。
tknz = FOREACH inp GENERATE FLATTEN(TOKENIZE(singleline)) as Col_Words;
tknz_group = GROUP tknz ALL;
tknz_count = FOREACH tnnz_group GENERATE group,COUNT(tknz.Col_Words);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句