graph LR
Graph["Graph"]
GraphCursor["GraphCursor"]
Graph -- "provides" --> GraphCursor
GraphCursor -- "builds" --> Graph
GraphCursor -- "modifies" --> Graph
The Graph Definition API subsystem is responsible for programmatically defining and structuring data processing pipelines as Directed Acyclic Graphs (DAGs). Its primary function is to declare the structure of ETL pipelines by managing interconnected nodes that represent atomic data operations.
The Graph component is the foundational element for constructing and representing the entire data processing pipeline. It serves as the primary orchestrator, holding the collection of nodes (ETL operations) and defining their interconnections to establish the complete data flow. It is the concrete representation of the DAG.
Related Classes/Methods:
The GraphCursor component provides a fluent and intuitive API for incrementally building and connecting nodes within a Graph. It simplifies the process of defining complex data flows, particularly through operator overloading (e.g., >>), acting as a temporary builder or pointer that facilitates the sequential linking of operations.
Related Classes/Methods: