@Override
		protected void reduce(Text key, Iterable<Text> values, Context context)
				throws IOException, InterruptedException {
			System.out.println(HeaderType.valueOf(
					key.toString().trim().replaceAll("\\ ", "")).toString());
			switch (HeaderType.valueOf(
					key.toString().trim().replaceAll("\\ ", "")).toString()) {
			case "number":
				System.out.println("number me for key ="+key.toString());
				double max = Integer.MIN_VALUE;
				double min = Integer.MAX_VALUE;
				double avg = 0.0;
				Integer count = 0;
				for (Text value : values) {
					double curr = Double.parseDouble(value.toString().trim());
					max = max <= curr ? curr : max;
					min = min >= curr ? curr : min;
					avg += curr;
					count++;

				}
				context.write(
						key,
						new Text("max=" + String.valueOf(max) + "\t min="
								+ String.valueOf(min) + "\t AVg="
								+ String.valueOf(avg / count)));

				break;
			case "words":
				System.out.println("words me for key="+key.toString());
				Map<String, Integer> countOfCat=new HashMap<String, Integer>();
				count=0;
				for (Text word : values) {
				
					
					if (countOfCat.containsKey(word.toString())) {
						count=countOfCat.get(word.toString()) ;
						countOfCat.put(word.toString(), ++count);
					}else{
						countOfCat.put(word.toString(), 1);
					}
				} 
				String tmp=new String();
				for (Entry<String, Integer> entry : countOfCat.entrySet()) {
					tmp+=entry.getKey()+"="+entry.getValue()+"\t";
				}
				context.write(key, new Text(tmp));
				break;

			default:
				break;
			}
			
			
			

		}