@Override
  public int run(String[] args) throws Exception {
    // TODO Auto-generated method stub
    Configuration conf = getConf();
    Job job = new Job(conf, "2_coredate_onoffline_user");
    job.setJarByClass(OnoffLineUserCompute.class);
    job.getConfiguration()
        .set(ConstantEnum.DM_MOBILE_PLATY_FILEPATH.name(), "conf/dm_mobile_platy");

    job.getConfiguration()
        .set(ConstantEnum.DM_MOBILE_QUDAO_FILEPATH.name(), "conf/dm_mobile_qudao");
    job.getConfiguration().set("type", args[2]);
    for (String path : args[0].split(",")) {
      FileInputFormat.addInputPath(job, new Path(path));
    }
    HdfsUtil.deleteDir(args[1]);

    FileOutputFormat.setOutputPath(job, new Path(args[1]));
    job.setMapperClass(UserComputeMapper.class);
    job.setReducerClass(UserComputeReducer.class);
    job.setNumReduceTasks(10);
    job.setOutputKeyClass(Text.class);
    job.setOutputValueClass(Text.class);
    System.exit(job.waitForCompletion(true) ? 0 : 1);
    return 0;
  }
 @Override
 protected void setup(Context context) throws IOException, InterruptedException {
   type = context.getConfiguration().get("type");
   FileSplit fileSplit = (FileSplit) context.getInputSplit();
   filePath = fileSplit.getPath();
   dmPlatyRuleDAO = new DMPlatyRuleDAOImpl<String, Integer>();
   dmQuDaoRuleDAO = new DMQuDaoRuleDAOImpl<Integer, Integer>();
   if (isLocalRunMode(context)) {
     String dmMobilePlayFilePath =
         context.getConfiguration().get(ConstantEnum.DM_MOBILE_PLATY_FILEPATH.name());
     dmPlatyRuleDAO.parseDMObj(new File(dmMobilePlayFilePath));
     String dmQuodaoFilePath =
         context.getConfiguration().get(ConstantEnum.DM_MOBILE_QUDAO_FILEPATH.name());
     dmQuDaoRuleDAO.parseDMObj(new File(dmQuodaoFilePath));
   } else {
     File dmMobilePlayFile = new File(ConstantEnum.DM_MOBILE_PLATY.name().toLowerCase());
     dmPlatyRuleDAO.parseDMObj(dmMobilePlayFile);
     dmQuDaoRuleDAO.parseDMObj(new File(ConstantEnum.DM_MOBILE_QUDAO.name().toLowerCase()));
   }
 }