For the complete documentation index, see llms.txt. This page is also available as Markdown.

Spline - Lineage

This article outlines the lineage coverage, configuration settings, metadata handling, supported scenarios, component behaviors, process flow, and known gaps for lineage extraction in Spline. The lineage process captures Apache Spark execution metadata to build end-to-end lineage across files, databases, cloud storage platforms, and Spark-based data pipelines. It supports detailed column-level lineage and transformation tracking, enabling visibility into joins, aggregations, projections, and expression-based transformations from source to target systems.

The connector is particularly valuable for Spark-based ETL environments, providing lineage across multiple platforms such as S3, Delta Lake, JDBC-connected systems, and other supported storage and processing technologies.

Lineage Configuration Requirements

Accurate lineage extraction depends on specific configuration settings and metadata availability. These requirements must be properly configured and available to ensure successful lineage generation and source-target resolution.

Configuration Requirements Table

Configuration
Required Detail

Spline JSON Payloads

Valid Spline lineage JSON payloads must be available for processing

File/Data Lake Lineage Configuration

SPLINE_LINEAGE_CONNECTION must be configured for file and data lake lineage extraction

Database Connections

Source and target database connections must be configured for object resolution

Connection Priority

Connection priority for lineage must be defined in connectionsPriorityForLineage

Schema Metadata Access

Access to schema and catalog metadata is required

Security Permissions

Appropriate security context and permissions must be available for lineage processing

Lineage Components

Component
Availability

Spark SQL Jobs

DataFrame / Dataset API

Source Tables (Hive/Delta/Parquet)

Target Tables

Column-Level Lineage

Joins (Multiple Sources)

Expressions / Derived Columns

Renamed Columns (Aliases)

Aggregations (SUM, COUNT, etc.)

⚠️

Temporary Views

File Sources (S3/ADLS/HDFS)

File Targets

Streaming Jobs

⚠️

UDFs (User Defined Functions)

Stored Procedures

External Non-Spark Queries

Parameters / Runtime Variables

The ⚠️ icon indicates partially supported functionality with limited lineage coverage in applicable scenarios.

Column Creation Support

This section outlines lineage support for column creation and transformation scenarios.

Column Creation from Lineage

Transformation Type
Availability

Direct Column Mapping

Expressions (Derived Columns)

Joins (Multi-source Mapping)

Renamed Columns (Aliases)

Aggregations

⚠️

Calculated Fields

Temporary Columns

Semantic Columns

The ⚠️ icon indicates partially supported functionality with limited lineage coverage in applicable scenarios.

Supported Use Cases

The connector supports lineage extraction across Spark-based data processing workloads and transformation pipelines. These use cases represent scenarios where lineage extraction functions as expected.

Supported Lineage Scenarios

Supported
Details

Spark Batch ETL Jobs

Lineage extraction from Spark batch processing workloads

File-to-Table Lineage

Tracking lineage from files to database tables

Table-to-Table Lineage

Lineage between source and target tables

Multi-Source Joins

Column-level lineage across joins involving multiple data sources

Aggregations and Projections

Lineage for aggregation and projection operations

Expression-Based Transformations

Tracking of derived columns and transformation expressions

Cross-Platform Pipelines

Lineage across S3, Delta Lake, JDBC, and other supported platforms

JDBC-Based Lineage

Source and target resolution through JDBC-connected systems

Partitioned Data Processing

Lineage extraction for partitioned datasets

Column-Level Lineage

Detailed source-to-target column mapping with transformation tracking

Column mappings and transformation lineage are generated from Apache Spark execution metadata and supported transformation information available in the lineage payload.

Partial or Limited Coverage

Certain scenarios provide only partial lineage coverage due to limitations in execution metadata availability, transformation complexity, or Spark processing behavior.

Scenarios

Scenario
Limitation Description

Filter / Where Conditions

Filter logic may not be fully represented in lineage output

Window Functions

Limited visibility into window-based transformations

Aggregations

Aggregation lineage may not capture the complete transformation context

Kafka Sources

Metadata coverage for Kafka-based sources is limited

Streaming Pipelines

Streaming lineage support is limited and may produce incomplete results

Complex Nested Transformations

Deeply nested transformation chains may not be fully resolved

Business Lineage View

Business-level lineage representation is limited

Compact Execution View

Execution details may not be fully represented in compact views

Union Operations

Lineage generation may be incomplete for union-based transformations

Unsupported Scenarios

The connector does not support lineage extraction for certain Spark execution patterns and processing methods due to limitations in available metadata or execution plan visibility.

Unsupported Lineage

Not Supported
Description

Dynamic SQL

Runtime-generated or dynamically constructed SQL statements

Spark Streaming Stateful Operations

Stateful streaming transformations and processing logic

RDD-Based Transformations

Lineage from Spark RDD operations

Real-Time Lineage Processing

Real-time lineage generation and visualization

Non-Spline Instrumented Spark Jobs

Spark jobs executed without Spline instrumentation

Full UDF Logic Parsing

Internal logic of User Defined Functions

External Non-Spark Processing

Transformations executed outside Spark execution frameworks

Runtime Variables and Parameters

Runtime-generated variables used during execution

Unsupported scenarios will not generate lineage and may appear disconnected or absent in lineage visualization.

Current Functional Status

This section outlines the present state of lineage coverage supported by the Spline connector based on the available capabilities and limitations.

Status Area
Details

Overall Coverage

Advanced coverage across Spark-based data processing pipelines

Lineage Depth

Detailed column-level lineage with transformation tracking

Supported Inputs

Spark SQL jobs, DataFrame APIs, files, tables, JDBC sources, and cloud storage platforms

Functional Scope

End-to-end lineage extraction from Spark execution metadata

Limitation Areas

Streaming workloads, dynamic SQL, UDF internals, union operations, and complex nested transformations

Resulting Output

Strong source-to-target lineage with robust column-level traceability and transformation visibility


Copyright © 2026, OvalEdge LLC, Peachtree Corners, GA, USA.

Last updated

Was this helpful?