/** * Gets a map from input path to schema. Because multiple inputs are allowed, there may be multiple schemas. * Must call {@link #createPlan()} first. * * @return map from path to input schema */ public Map<String,Schema> getInputSchemasByPath() { checkPlanExists(); return _inputSchemasByPath; }
/** * Gets whether another pass will be required. Because there may be a limit on the number of inputs processed * in a single run, multiple runs may be required to process all data in the desired date range. * Must call {@link #createPlan()} first. * * @return true if another pass is required */ public boolean getNeedsAnotherPass() { checkPlanExists(); return _needAnotherPass; }
/** * Gets the inputs which are to be processed. * Must call {@link #createPlan()} first. * * @return inputs to process */ public List<DatePath> getInputsToProcess() { checkPlanExists(); return _inputsToProcess; }
/** * Get the number of reducers to use based on the input data size. * Must call {@link #createPlan()} first. * * @return number of reducers to use */ public int getNumReducers() { checkPlanExists(); return _numReducers; }
/** * Gets the input schemas. Because multiple inputs are allowed, there may be multiple schemas. * Must call {@link #createPlan()} first. * * @return input schemas */ public List<Schema> getInputSchemas() { checkPlanExists(); return _inputSchemas; }
/** * Gets the input dates which are to be processed. * Must call {@link #createPlan()} first. * * @return dates to process */ public List<Date> getDatesToProcess() { checkPlanExists(); Set<Date> dates = new TreeSet<Date>(); for (DatePath dp : _inputsToProcess) { dates.add(dp.getDate()); } return new ArrayList<Date>(dates); }