/** * Factory method. * * @param extract {@link Extract} * @param watermarkInterval {@link WatermarkInterval} * @return A {@link WorkUnit} with the given {@link Extract} and {@link WatermarkInterval} */ public static WorkUnit create(Extract extract, WatermarkInterval watermarkInterval) { return new WorkUnit(null, extract, watermarkInterval); }
/** * Factory method. * * @param extract {@link Extract} * @return A {@link WorkUnit} with the given {@link Extract} */ public static WorkUnit create(Extract extract) { return new WorkUnit(null, extract); }
/** * Factory method. * * @param other a {@link WorkUnit} instance * @return A copy of the given {@link WorkUnit} instance */ public static WorkUnit copyOf(WorkUnit other) { return new WorkUnit(other); }
/** * Factory method. * * @return An empty {@link WorkUnit}. */ public static WorkUnit createEmpty() { return new WorkUnit(); }
/** * Create a new {@link WorkUnit} instance from a given {@link Extract}. * * @param extract given {@link Extract} * @return a new {@link WorkUnit} instance * * @deprecated Properties in SourceState should not added to a WorkUnit. Having each WorkUnit contain a copy of * SourceState is a waste of memory. Use {@link WorkUnit#create(Extract)}. */ @Deprecated public WorkUnit createWorkUnit(Extract extract) { return new WorkUnit(this, extract); }
@Override public List<WorkUnit> getWorkunits(SourceState state) { List<WorkUnit> workUnits = Lists.newArrayList(); for (int i = 0; i < state.getPropAsInt(NUM_WORK_UNITS, 1); i++) { workUnits.add(new WorkUnit()); } return workUnits; }
protected WorkUnit createWorkUnit (Dataset dataset) throws IOException { WorkUnit workUnit = new WorkUnit(); TaskUtils.setTaskFactoryClass(workUnit, MRCompactionTaskFactory.class); suite.save (dataset, workUnit); return workUnit; }
@Override public List<WorkUnit> getWorkunits(SourceState state) { Config rootCfg = ConfigUtils.propertiesToConfig(state.getProperties()); Config cfg = rootCfg.hasPath(CONFIG_NAMESPACE) ? rootCfg.getConfig(CONFIG_NAMESPACE) : ConfigFactory.empty(); int numHellos = cfg.hasPath(NUM_HELLOS_KEY) ? cfg.getInt(NUM_HELLOS_KEY) : DEFAULT_NUM_HELLOS; Extract extract = new Extract(TableType.APPEND_ONLY, HelloWorldSource.class.getPackage().getName(), HelloWorldSource.class.getSimpleName()); List<WorkUnit> wus = new ArrayList<>(numHellos); for (int i = 1; i <= numHellos; ++i) { WorkUnit wu = new WorkUnit(extract); wu.setProp(HELLO_ID_FULL_KEY, i); wus.add(wu); } return wus; }
CopyEntity.DatasetAndPartition datasetAndPartition = copyEntity.getDatasetAndPartition(metadata); WorkUnit workUnit = new WorkUnit(extract); workUnit.addAll(this.state); serializeCopyEntity(workUnit, copyEntity);