public Configuration(String in) {
		config = new Properties();
		try {
			config.loadFromXML(new FileInputStream(in));
			// following fields can be configured in the file at runtime
			// other fields cannot be changed once it's compiled
			INPUT_DIR = config.getProperty("input dir") + "/";
			OUTPUT_DIR = config.getProperty("output dir") + "/";
			RECORD_SIZE = Integer.parseInt(config.getProperty("record size"));
			REPLICA = Integer.parseInt(config.getProperty("replica"));
			REDUCER_NUM = Integer.parseInt(config.getProperty("reducer num"));
		} catch (InvalidPropertiesFormatException e) {
			e.printStackTrace();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}