/** * @deprecated use {@link #consumeRow(InputRow)} instead */ @Deprecated public List<InputRow> consume(final InputRow row) { final ConsumeRowResult result = consumeRow(row); return result.getRows(); }
/** * Builds a {@link ConsumeRowHandler} based on a job, and the configuration * to read the job's consumers * * @param job * @param configuration * @param rowConsumerConfiguration */ public ConsumeRowHandler(final AnalysisJob job, final DataCleanerConfiguration configuration, final Configuration rowConsumerConfiguration) { _consumers = extractConsumers(job, configuration, rowConsumerConfiguration); _alwaysSatisfiedOutcomes = rowConsumerConfiguration.alwaysSatisfiedOutcomes; }
handlerConfiguration.includeAnalyzers = true; handlerConfiguration.includeNonDistributedTasks = false; consumeRowHandler = new ConsumeRowHandler(analysisJob, configuration, handlerConfiguration); consumeRowHandler.consumeRow(inputRow); logger.debug("Consumed row no. {}", inputRow.getId()); getAnalyzerResults(consumeRowHandler.getConsumers()); for (final RowProcessingConsumer consumer : consumeRowHandler.getConsumers()) { lifeCycleHelper.close(consumer.getComponentJob().getDescriptor(), consumer.getComponent(), true);
@Initialize public void init() { if (!reInitialize(_wrappedAnalysisJob, _outputColumns)) { return; } _wrappedAnalysisJob = createWrappedAnalysisJob(); if (_wrappedAnalysisJob == null) { throw new IllegalStateException("Wrapped AnalysisJob cannot be null"); } final ConsumeRowHandler.Configuration configuration = new ConsumeRowHandler.Configuration(); configuration.includeAnalyzers = false; _consumeRowHandler = new ConsumeRowHandler(_wrappedAnalysisJob, _configuration, configuration); _inputColumnConversion = getInputColumnConversion(_wrappedAnalysisJob); _outputColumns = _consumeRowHandler.getOutputColumns(); }
@Override public final ConsumeRowHandler createConsumeRowHandler() { final RowProcessingQueryOptimizer queryOptimizer = getQueryOptimizer(); final Query finalQuery = queryOptimizer.getOptimizedQuery(); final RowIdGenerator idGenerator; if (finalQuery.getFirstRow() == null) { idGenerator = new SimpleRowIdGenerator(); } else { idGenerator = new SimpleRowIdGenerator(finalQuery.getFirstRow()); } final RowProcessingPublishers publishers = getPublishers(); final AnalysisListener analysisListener = publishers.getAnalysisListener(); for (final RowProcessingConsumer consumer : getConsumers()) { final ComponentJob componentJob = consumer.getComponentJob(); final ComponentMetrics metrics = new AnalysisJobMetricsImpl(consumer.getAnalysisJob(), publishers).getComponentMetrics(componentJob); analysisListener.componentBegin(getStream().getAnalysisJob(), componentJob, metrics); if (consumer instanceof TransformerConsumer) { ((TransformerConsumer) consumer).setRowIdGenerator(idGenerator); } } final List<RowProcessingConsumer> consumers = queryOptimizer.getOptimizedConsumers(); final Collection<? extends FilterOutcome> availableOutcomes = queryOptimizer.getOptimizedAvailableOutcomes(); return new ConsumeRowHandler(consumers, availableOutcomes); }
consumers = removeAnalyzers(consumers);
@Override public void execute() { _consumeRowHandler.consumeRow(_row).getRows(); _analysisListener.rowProcessingProgress(_rowProcessingMetrics.getAnalysisJobMetrics().getAnalysisJob(), _rowProcessingMetrics, _row, _rowNumber); }
@Override public Object[] transform(final InputRow parentInputRow) { final MockInputRow wrappedInputRow = new MockInputRow(parentInputRow.getId()); final Set<Entry<InputColumn<?>, InputColumn<?>>> conversionEntries = _inputColumnConversion.entrySet(); for (final Entry<InputColumn<?>, InputColumn<?>> conversionEntry : conversionEntries) { final InputColumn<?> parentColumn = conversionEntry.getKey(); final Object value = parentInputRow.getValue(parentColumn); final InputColumn<?> wrappedColumn = conversionEntry.getValue(); wrappedInputRow.put(wrappedColumn, value); } final List<InputRow> outputRows = _consumeRowHandler.consumeRow(wrappedInputRow).getRows(); for (final InputRow wrappedOutputRow : outputRows) { final Object[] outputValues = convertToOutputValues(wrappedOutputRow); _outputRowCollector.putValues(outputValues); } return null; }
@Override public void putRow(final Row row) { final ErrorAware errorAware = _publisher.getErrorAware(); if (errorAware.isCancelled() || errorAware.isErrornous()) { throw new PreviousErrorsExistException(); } final int rowNumber = _rowCounter.incrementAndGet(); final MetaModelInputRow inputRow = new MetaModelInputRow(rowNumber, row); _consumeRowHandler.consumeRow(inputRow); _publisher.getAnalysisListener() .rowProcessingProgress(_publisher.getAnalysisJob(), _publisher.getRowProcessingMetrics(), inputRow, rowNumber); } }