@Override public <T> ModelOutput<T> openOutput( OutputAttemptContext context, DataDefinition<T> definition, String basePath, String resourcePath, Counter counter) throws IOException, InterruptedException { return core.openOutput(context, definition, basePath, resourcePath, counter); }
@Override public <T> ModelOutput<T> openOutput( OutputAttemptContext context, DataDefinition<T> definition, String basePath, String resourcePath, Counter counter) throws IOException, InterruptedException { ModelOutput<T> output = entity.openOutput(context, definition, basePath, resourcePath, counter); return new WrappedModelOutput<>(output, heartbeat, counter); }
dataSource.setupAttemptOutput(outputContext); Counter counter = new Counter(); ModelOutput<T> output = dataSource.openOutput(outputContext, definition, basePath, outputPath, counter); return new ModelOutput<T>() { @Override
try (ModelOutput<? super T> output = datasource.openOutput( outputContext, definition,
try (ModelOutput<StringBuilder> output = ds.openOutput( aContext, SimpleDataDefinition.newInstance(StringBuilder.class, new MockFormat()),
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override protected void reduce( AbstractDirectOutputKey key, Iterable<AbstractDirectOutputValue> values, Context context) throws IOException , InterruptedException { DirectOutputGroup group = (DirectOutputGroup) key.getGroupObject().getObject(); String portId = group.getOutputId(); String path = variables.parse(group.getPath(), false); String sourceId = repository.getRelatedId(path); OutputAttemptContext outputContext = BridgeOutputFormat.createContext(context, sourceId); DataDefinition definition = SimpleDataDefinition.newInstance( group.getDataType(), configure(context, group.getFormat())); DirectDataSource datasource = repository.getRelatedDataSource(path); String basePath = repository.getComponentPath(path); String resourcePath = variables.parse(group.getResourcePath()); Counter counter = new Counter(); long records = 0; try (ModelOutput output = datasource.openOutput(outputContext, definition, basePath, resourcePath, counter)) { for (Union union : values) { Object object = union.getObject(); output.write(object); records++; } } recordCounter.increment(records); Constants.putCounts(context, sourceId, portId, 1, records, counter.get()); }