public int run(String[] args) throws Exception {
Job job = new Job(getConf(), this.getClass().getSimpleName());
job.setJarByClass(this.getClass());
job.setInputFormatClass(AccumuloInputFormat.class);
AccumuloInputFormat.setZooKeeperInstance(job.getConfiguration(), args[0], args[1]);
AccumuloInputFormat.setInputInfo(job.getConfiguration(), args[2], args[3].getBytes(), args[4], new Authorizations());
IteratorSetting regex = new IteratorSetting(50, "regex", RegExFilter.class);
RegExFilter.setRegexs(regex, args[5], args[6], args[7], args[8], false);
AccumuloInputFormat.addIterator(job.getConfiguration(), regex);
job.setMapperClass(RegexMapper.class);
job.setMapOutputKeyClass(Key.class);
job.setMapOutputValueClass(Value.class);
job.setNumReduceTasks(0);
job.setOutputFormatClass(TextOutputFormat.class);
TextOutputFormat.setOutputPath(job, new Path(args[9]));
System.out.println("setRowRegex: " + args[5]);
System.out.println("setColumnFamilyRegex: " + args[6]);
System.out.println("setColumnQualifierRegex: " + args[7]);
System.out.println("setValueRegex: " + args[8]);
job.waitForCompletion(true);
return job.isSuccessful() ? 0 : 1;
}