public AnalyzerJobHelper(final AnalysisJob analysisJob) { this(analysisJob.flattened().flatMap(analysisJob1 -> analysisJob1.getAnalyzerJobs().stream()) .collect(Collectors.toList())); }
/** * Get all {@link ComponentJob}s contained in this job. * * @return */ default List<ComponentJob> getComponentJobs() { final ArrayList<ComponentJob> componentJobs = new ArrayList<>(); componentJobs.addAll(getTransformerJobs()); componentJobs.addAll(getAnalyzerJobs()); componentJobs.addAll(getFilterJobs()); return componentJobs; }
/** * Builds a list of {@link MetricGroup}s for a specific {@link AnalysisJob}. * * @param jobContext * @param analysisJob * * @return */ public List<MetricGroup> getMetricGroups(MetricJobContext jobContext, AnalysisJob analysisJob) { final List<MetricGroup> metricGroups = new ArrayList<>(); final List<AnalyzerJob> analyzerJobs = analysisJob.flattened() .flatMap(analysisJob1 -> analysisJob1.getAnalyzerJobs().stream()).collect(Collectors.toList()); for (AnalyzerJob analyzerJob : analyzerJobs) { final Set<MetricDescriptor> metricDescriptors = analyzerJob.getDescriptor().getResultMetrics(); final MetricGroup metricGroup = getMetricGroup(jobContext, analyzerJob, metricDescriptors); if (metricGroup != null) { metricGroups.add(metricGroup); } } return metricGroups; }
public static Collection<ComponentJob> getAllComponents(final AnalysisJob job) { return CollectionUtils.concat(false, job.getFilterJobs(), job.getTransformerJobs(), job.getAnalyzerJobs()); }
final Collection<AnalyzerJob> analyzerJobs = _masterJob.getAnalyzerJobs(); for (final AnalyzerJob masterAnalyzerJob : analyzerJobs) { final Collection<AnalyzerResult> slaveResults = new ArrayList<>();
private static void addJobConfigurations(final AnalysisJob job, final Set<Datastore> datastores, final Set<Dictionary> dictionaries, final Set<StringPattern> stringPatterns, final Set<SynonymCatalog> synonymCatalogs) { datastores.add(job.getDatastore()); Iterators.concat(job.getAnalyzerJobs().iterator(), job.getFilterJobs().iterator(), job.getTransformerJobs().iterator()).forEachRemaining(component -> { component.getDescriptor().getConfiguredProperties().forEach(descriptor -> { final Class<?> type = descriptor.getBaseType(); if (type == Datastore.class) { datastores.addAll(getProperties(component, descriptor)); } else if (type == Dictionary.class) { dictionaries.addAll(getProperties(component, descriptor)); } else if (type == StringPattern.class) { stringPatterns.addAll(getProperties(component, descriptor)); } else if (type == SynonymCatalog.class) { synonymCatalogs.addAll(getProperties(component, descriptor)); } }); for (final OutputDataStreamJob outputDataStreamJob : component.getOutputDataStreamJobs()) { addJobConfigurations(outputDataStreamJob.getJob(), datastores, dictionaries, stringPatterns, synonymCatalogs); } }); }
final List<AnalyzerJob> analyzerJobs = analysisJob.getAnalyzerJobs(); for (AnalyzerJob analyzerJob : analyzerJobs) { final Map<String, Object> jobComponent = new HashMap<>();
private ComponentJob getComponentByKey(final AnalysisJob job, final String queriedKey) { final List<ComponentJob> componentJobs = CollectionUtils.concat(false, job.getTransformerJobs(), job.getTransformerJobs(), job.getAnalyzerJobs()); for (final ComponentJob componentJob : componentJobs) { final String componentKey = getComponentKey(componentJob); if (queriedKey.equals(componentKey)) { return componentJob; } final OutputDataStreamJob[] outputDataStreamJobs = componentJob.getOutputDataStreamJobs(); for (final OutputDataStreamJob outputDataStreamJob : outputDataStreamJobs) { final AnalysisJob childJob = outputDataStreamJob.getJob(); if (childJob != null) { final ComponentJob result = getComponentByKey(childJob, queriedKey); if (result != null) { return result; } } } } return null; }
/** * Prevents that any row processing components have input from different * tables. * * @param job */ private void validateSingleTableInput(final AnalysisJob job) { final SourceColumnFinder sourceColumnFinder = new SourceColumnFinder(); sourceColumnFinder.addSources(job); validateSingleTableInput(sourceColumnFinder, job.getTransformerJobs()); validateSingleTableInput(sourceColumnFinder, job.getFilterJobs()); validateSingleTableInput(sourceColumnFinder, job.getAnalyzerJobs()); }
public void addSources(final AnalysisJob job) { addSources(new SourceColumns(job.getSourceColumns())); addSources(job.getFilterJobs()); addSources(job.getTransformerJobs()); addSources(job.getAnalyzerJobs()); }
final Collection<AnalyzerJob> analyzerJobs = analysisJob.getAnalyzerJobs(); final Map<String, AnalyzerType> analyzerTypesByBuilderId = new HashMap<>();
addComponentBuilders(job.getFilterJobs(), componentBuilders); addComponentBuilders(job.getTransformerJobs(), componentBuilders); addComponentBuilders(job.getAnalyzerJobs(), componentBuilders);