mapreduce程序如何跳过待处理文件的首行

首选明白一点,map的输入key为当前行在文件内的位置偏移量,所以首行的偏移量肯定是0,所以可以进行如下判断来跳过第一行的处理

public void map(Object key, Text value, Context context)
				throws IOException, InterruptedException {
			log.info("----------key" + key.toString() + "--------------");

			log.info("----------" + value.toString() + "--------------");
			if (key.toString().equals("0")) {
				log.info("----------不处理--------------");
				return;
			} else {
				log.info("----------处理--------------");
			}

			StringTokenizer itr = new StringTokenizer(value.toString());
			while (itr.hasMoreTokens()) {
				word.set(itr.nextToken());
				context.write(word, one);

			}
		}


你可能感兴趣的:(mapreduce程序如何跳过待处理文件的首行)