java格式的字符串数组,其中每个字符串的长度为5个单词?

6tdlim6h  于 2021-06-02  发布在  Hadoop
关注(0)|答案(0)|浏览(223)

在hadoop中编写一个mapreduce程序,计算在提供的sample.txt文件中每个唯一的5字序列出现的次数。程序的最终输出应该在单独的行中列出5字序列及其计数。
例子:
山姆是个好孩子,他在学校里总是排在前五名。
必须按以下方式处理:
山姆是个好孩子:1
是个好孩子,而且:1
一个好男孩和他:1
好孩子,他总是:1
他总是站着:1
. . . 类似地,如果它发现一个5字序列的重复字符串,它必须显示为2次
我的代码:

public void map(LongWritable key, Text value, Context context ) throws  IOException, InterruptedException{
  StringBuilder sb = new StringBuilder();       
  StringTokenizer itr = new StringTokenizer(value.toString());      
  String[] tokens = new String[itr.countTokens() * 5]       
   for(int l = 0 ; l<tokens.length;l++){
         tokens[l] = itr.nextToken();
    }

   for(int i = 0; i < tokens.length; i++){
     sb.append(tokens[i]);
        for(int j = i+1;j<i+5;j++){
           sb.append(" ");
           sb.append(tokens[j]);
    }
    word.set(sb.toString());
    context.write(word, one);
    System.out.println(sb.toString());
    sb.setLength(0);
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题