public void run( int pageCount, boolean outputContent ) throws Exception {
		String seedFile = createSeedFile(pageCount);
		Path seedFilePath = new Path(seedFile);
		
		Configuration conf = new Configuration();
		String input = Constants.SEED_INPUT;
		String output = Constants.POST_OUTPUT_DIR;
		FileSystem fileSystem = FileSystem.get(conf);
		Path inputPath = new Path(input);
		fileSystem.delete(inputPath, true);
		fileSystem.mkdirs(inputPath);
		fileSystem.copyFromLocalFile(false, true, seedFilePath, inputPath);
		Path outputPath = new Path(output);
		fileSystem.delete(outputPath, true);
		
		Job job = new Job(conf);
		job.setJobName("analysisjob");
		job.setOutputKeyClass(Text.class);
		job.setOutputValueClass(Text.class);
		job.setJarByClass(Crawler.class);
		job.setMapperClass(MapClass.class);
		//job.setCombinerClass(ReduceClass.class);
		job.setReducerClass(ReduceClass.class);
		//job.setPartitionerClass(PartitionerClass.class);
		//job.setNumReduceTasks(2);
		FileInputFormat.setInputPaths(job, inputPath);
		FileOutputFormat.setOutputPath(job, outputPath);

		Date startTime = new Date();
		System.out.println("Job started: " + startTime);
		job.waitForCompletion(true);
		if (outputContent) {
			Path outputFile = new Path(output + "/" + Constants.OUTPUT_FILE);
			Path copyDest = new Path(ClassLoader.getSystemResource("").getFile() + Constants.POST_OUTPUT_DEST_FILE);
			fileSystem.copyToLocalFile(outputFile, copyDest);
		}
		Date end_time = new Date();
		System.out.println("Job ended: " + end_time);
		System.out.println("The job took "
				+ (end_time.getTime() - startTime.getTime()) / 1000
				+ " seconds.");

	}