THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
/**
* Job lineage is built according to StreamGraph. Users can get sources, sinks and relationships from lineage.
*/
@PublicEvolvig
public interface LineageGraph {
/* Source lineage vertex list. */
List<SourceLineageVertex> sources();
/* Sink lineage vertex list. */
List<LineageVertex> sinks();
/* lineage edges from sources to sinks. */
List<LineageEdge> relations();
}
/** Lineage vertex represents the connectors in lineage graph, including source and sink. */
@PublicEvolving
public interface LineageVertex {
/* List of input (for source) or output (for sink) datasets interacted with by the connector */
List<LineageDataset> datasets;
}
/** Lineage dataset represents the source or sink in the job. */
@PublicEvolving
public interface LineageDataset {
/* Name for this particular dataset. */
String name;
/* Unique name for this dataset's storage, for example, url for jdbc connector and location for lakehouse connector. */
String namespace;
/* Facets for the lineage vertex to describe the particular information of dataset, such as schema and config. */
Map<String, Facet> facets;
}
/** Facet interface for dataset. */
@PublicEvolving
public interface LineageDatasetFacet {
}
/** Builtin config facet for dataset. */
@PublicEvolving
public interface DatasetConfigFacet {
Map<String, String> config();
}
/** Builtin schema facet for dataset. */
@PublicEvolving
public interface DatasetSchemaFacet {
Map<String, String> fields();
}
/** Lineage vertex for source which has boundedness. */
@PublicEvolving
public interface SourceLineageVertex extends LineageVertex {
/**
* The boundedness for the source connector, users can get boundedness for each sources in
* the lineage and determine the job execution mode with RuntimeExecutionMode.
*/
Boundedness boundedness();
}
/** Lineage edge from sources to sink. */
@PublicEvolving
public interface LineageEdge {
LineageVertex source();
LineageVertex sink();
} |
...