public class CompleteFlowPathLineage extends AbstractLineageStrategy
logger| Constructor and Description |
|---|
CompleteFlowPathLineage() |
addDataSetRefs, addDataSetRefs, addDataSetRefs, addDataSetRefs, createEntity, executeAnalyzer, setLineageContext, toReferenceablepublic ProvenanceEventType[] getTargetEventTypes()
public void processEvent(AnalysisContext analysisContext, NiFiFlow nifiFlow, ProvenanceEventRecord event)
private List<org.apache.nifi.provenance.lineage.LineageNode> findParentEvents(Map<String,List<org.apache.nifi.provenance.lineage.LineageNode>> lineageTree, ProvenanceEventRecord event)
private void extractLineagePaths(AnalysisContext context, Map<String,List<org.apache.nifi.provenance.lineage.LineageNode>> lineageTree, LineagePath lineagePath, ProvenanceEventRecord lastEvent)
private void analyzeLineagePath(AnalysisContext analysisContext, LineagePath lineagePath)
private void analyzeLineageTree(org.apache.nifi.provenance.lineage.ComputeLineageResult lineage, Map<String,List<org.apache.nifi.provenance.lineage.LineageNode>> lineageTree)
private void createCompleteFlowPath(NiFiFlow nifiFlow, LineagePath lineagePath, List<Tuple<NiFiFlowPath,DataSetRefs>> createdFlowPaths)
This method processes parents first to generate a hash, as parent LineagePath hashes contribute child hash in order to distinguish FlowPaths based on the complete path for a given FlowFile. For example, even if two lineagePaths have identical componentIds/inputs/outputs, if those parents have different inputs, those should be treated as different paths.
nifiFlow - A reference to current NiFiFlowlineagePath - LineagePath from which NiFiFlowPath and DataSet refs are created and added to the createdFlowPaths.createdFlowPaths - A list to buffer created NiFiFlowPaths,
in order to defer sending notification to Kafka until all parent FlowPath get analyzed.Copyright © 2024 Apache NiFi Project. All rights reserved.