
## Component lineage support

URL: https://docs.atlan.com/apps/connectors/etl-tools/talend/references/talend-component-support

> Talend components the connector builds lineage for, grouped by support level

Lineage support varies by Talend component. This reference lists components by support level so you can predict lineage coverage for your jobs.

Support level describes lineage only. Atlan catalogs every component in your jobs as a component asset regardless of support level, so unsupported components still appear in the catalog with their metadata.

## Asset types

Talend components are crawled as `FlowDataset` assets, one per component instance in a job. Support level determines the lineage Atlan builds between these assets, not whether the assets are created.

| Atlan asset type | Talend object | Affected by support level |
| --- | --- | --- |
| `FlowDataset` | Job component | Lineage only. The asset is always created. |
| `FlowField` | Component field or column | Column-level lineage only. The asset is always created. |

For the full property mapping of these asset types, see [What does Atlan crawl from Talend](https://docs.atlan.com/llms/connectors/talend/what-does-atlan-crawl-from-talend/llms.txt).

## Metadata fields

Component assets receive their identifying and descriptive metadata regardless of support level. The fields below are the ones lineage is derived from.

| Atlan property | Role in lineage |
| --- | --- |
| `name`, `qualifiedName`, `flowId`, `flowType` | Identify the component and its type. Populated for every component. |
| `flowProjectName`, `flowReusableUnitName` | Locate the component within its project and job. Populated for every component. |
| `flowQuery` | Holds the SQL parsed from database components, where the connector extracts one. |
| `flowExpression` | Holds the field expressions parsed from transformation components, such as `tMap`. |

The connector derives lineage by parsing SQL from database components and field expressions from transformation components. Components with no dedicated handling produce no reliable lineage. See [Unsupported components](#unsupported-components).

## Lineage support

| Support level | Lineage behavior |
| --- | --- |
| Supported | The connector has dedicated, component-specific code and builds lineage showing how data flows through the component. |
| Partially supported | The connector has dedicated handling, but the component isn't fully modeled, so lineage may be incomplete. |
| Not supported | The connector has no dedicated handling and produces no reliable data lineage for the component. |

## Supported components

### Transformations

Purpose-built lineage transformations:

- `tMap`
- `tFlowToIterate`
- `tHashInput`, `tHashOutput`
- `tWriteJSONField`

Transformations whose logic Atlan captures as an expression on the component asset:

| Component | Captured expression |
| --- | --- |
| `tJoin` | Join condition |
| `tAggregateRow` | Aggregate operations |
| `tFilterRow` | Filter predicate |
| `tSortRow` | Sort keys |
| `tFilterColumns` | Selected columns |

### Database components

Sources, targets, and connections for mapped platforms:

| Platform | Components |
| --- | --- |
| Snowflake | `tSnowflakeInput`, `tSnowflakeOutput`, `tSnowflakeRow`, `tSnowflakeConnection`, `tSnowflakeOutputBulk`, `tSnowflakeOutputBulkExec`, `tSnowflakeBulkExec` |
| Oracle | `tOracleInput`, `tOracleOutput`, `tOracleRow`, `tOracleConnection` |
| SQL Server | `tMSSqlInput`, `tMSSqlOutput`, `tMSSqlRow`, `tMSSqlConnection` |
| Teradata | `tTeradataInput`, `tTeradataOutput`, `tTeradataRow`, `tTeradataConnection` |
| Salesforce | `tSalesforceOutput`, `tSalesforceConnection` |

### File components

- `tFileInputDelimited`, `tFileOutputDelimited`
- `tFileInputExcel`, `tFileOutputExcel`
- `tFileInputXML`
- `tFileInputPositional`
- `tFileOutputRaw`

## Partially supported components

Lineage for these components may be incomplete:

- **Custom joblets and sub-jobs**: Atlan expands joblets to resolve context and connections, but the joblet wrapper isn't itself a data node.
- **`tRunJob`**: Deep column-level lineage across job boundaries is limited.
- **`tFileInputRaw`**: Atlan reads this component to resolve dynamic query parameters that other components use, rather than treating it as a data source.

## Unsupported components

Atlan catalogs these components and their metadata but doesn't build lineage through them.

### Custom code

Components containing custom Java can't be statically analyzed for data flow:

- `tJava`, `tJavaRow`, `tJavaFlex`

### Control flow and orchestration

- `tPrejob`, `tPostjob`
- `tDie`, `tWarn`
- `tLogRow`, `tLogCatcher`
- `tParallelize`
- `tSetGlobalVar`, `tContextLoad`
- `tFixedFlowInput`, `tRowGenerator`

### Session lifecycle

Commit, rollback, and close components for all platforms:

- `tSnowflakeCommit`, `tSnowflakeRollback`, `tSnowflakeClose`
- `tOracleCommit`, `tOracleRollback`, `tOracleClose`
- `tMSSqlCommit`, `tMSSqlClose`
- `tTeradataClose`
- `tAS400Commit`, `tAS400Rollback`, `tAS400Close`
- `JDBCCommit`, `JDBCRollback`
- `tFTPClose`

### Transformations without dedicated handling

- `tUnite`
- `tUniqRow`
- `tReplicate`
- `tDenormalize`
- `tMemorizeRows`
- `tSchemaComplianceCheck`
- `tWriteDynamicFields`
- `tXMLMap`, `tHMap`
- `tExtractXMLField`, `tExtractJSONFields`

### File transfer utilities

- `tFileList`, `tFileExist`, `tFileCopy`, `tFileDelete`, `tFileTouch`
- `tFileProperties`, `tFileRowCount`, `tFileInputProperties`
- `tFTPFileList`, `tFTPFileProperties`, `tFTPConnection`

### Notifications and system commands

- `tSendMail`
- `tSystem`
- `tLibraryLoad`

### Unmapped platforms and services

Systems outside the connector's platform mapping:

- AS/400: `tAS400Connection`, `tAS400Input`, `tAS400Output`, `tAS400Row`
- Kafka: `tKafkaOutput`
- SAP: `tSAPTableInput`
- Web services: `tSOAP`, `tWebService`, `tREST`
- Generic JDBC: `JDBCConnection`, `JDBCOutput`
- Stored procedures: `tMSSqlSP`

## Lineage alternatives for unsupported components

For jobs that depend on unsupported components, consider [OpenLineage](https://openlineage.io/) integration with Atlan. OpenLineage captures lineage at job execution time, including custom code transformations that static analysis can't detect.

## See also

- [What does Atlan crawl from Talend](https://docs.atlan.com/llms/connectors/talend/what-does-atlan-crawl-from-talend/llms.txt): Talend asset types and metadata Atlan extracts
- [Lineage](https://docs.atlan.com/apps/connectors/etl-tools/talend/faq/talend-lineage): How Atlan calculates lineage from Talend jobs

---
