用户登录
用户注册

分享至

wordcount程序的过程

  • 作者: -_-宅_
  • 来源: 51数据库
  • 2020-04-21

CentOS6.8下Hadoop2.7.2怎么运行自带的wordcount程序

在集成开发环境中写好了WordCount 程序,程序源代码如下:

TokenizerMapper 类:

public static class TokenizerMapper extends

Mapper{

private final static IntWritable count = new IntWritable(1);

private Text word = new Text();

public void map(Object key, Text value, Context context)

throws IOException, InterruptedException {

StringTokenizer st = new StringTokenizer(value.toString()); while (st.hasMoreTokens()) {

word.set(st.nextToken());

context.write(word, count);

}

CentOS6.8下Hadoop2.7.2怎么运行自带的wordcount程序

在集成开发环境中写好了WordCount 程序,程序源代码如下:TokenizerMapper 类:public static class TokenizerMapper extendsMapper {private final static IntWritable count = new IntWritable(1);private Text word = new Text();public void map(Object key, Text value, Context context)throws IOException, InterruptedException {StringTokenizer st = new StringTokenizer(value.toString()); while (st.hasMoreTokens()) {word.set(st.nextToken());context.write(word, count);}。

用c语言编写一个程序

“该单词的后面紧跟着再次出现自己本身”怎么理解?大体说说思路,你得有个算法判断什么样的字符串算一个“单词”,可根据ASCII码,单词中可以有大小写字母,空格(\r,\t,\n),其他字符(&、*、……)都可以分隔单词。

输入一个字符串,程序算法切割为“单词”,存入链表或者数据库,再读入之后查询链表或者数据库,记录重复次数 。 将一个单词定义为不包含空白字符(即没有空格、制表符或者换行符)的一系列字符,比如“googoogxf”和"s2t2"都是单词(单词中可以有数字,linux 下 vim的查找功能就基本以这种方法)。

每个单词以首次遇到的非空白字符开始,在下一个空白字符出现时结束。检测空白字符比较简单的是用 ctype.h 中的isspace()函数。

======================================================== 我刚才理解有错误 贴出自己的代码,函数功能,输入一串字符串,统计其中有重复的单词并输出重复次数,间隔的重复情况未考虑, #include #include int main(int argc, char *argv[]) { char input[200]; //存储从键盘输入的内容 char *str = " \n"; //以空格或者换行符(最后一个回车)割字符 char *word_buf[50]; //指针数组 存放各个单词 printf("请输入字符串,各字符串以空格分隔:\n"); if(fgets(input, 200, stdin) == NULL) //从标准输入读入字符存储到input { perror("fgets"); //读入出错则返回 结束程序 return 0; } int i = 0, word_count = 1; //word_count为单词重复数 word_buf[i] = strtok(input, str); while(word_buf[i] != NULL) { i++; word_buf[i] = strtok(NULL, str); //strtok函数切割字符串 if(word_buf[i] == NULL) //如果到最后的换行符,退出循环,执行最后的if语句 { break; } if(strcmp(word_buf[i],word_buf[i-1]) == 0) //判断当前单词跟上一个单词是否相等 { word_count++; //如果当前单词跟上一个单词相同 则word_count累加 } else { if(word_count >= 2) //如果不相等 则判断之前的单词是否有重复,有则打印 { printf("重复单词:%s 该单词最大连续重复数:%d\n", word_buf[i-1],word_count); } word_count = 1;//由于当前单词跟上一个单词不相等,故重复数统计变量重新设置 } } if(word_count >= 2) //退出循环后的判断语句,\n之前的单词有重复则打印 { printf("重复单词:%s 该单词最大连续重复数:%d\n", word_buf[i-1],word_count); } return 0; }。

转载请注明出处51数据库 » wordcount程序的过程

软件
前端设计
程序设计
Java相关