# Streaming and batch data transforms

*Data 360 Consultant Study Guide · Data Source Connection and Ingestion · Last updated October 16, 2026 · https://www.certifyforce.com/study-guide/data-360-consultant/data-source-connection-and-ingestion/streaming-and-batch-data-transforms*

How to choose between streaming data transforms, batch data transforms and data stream formula fields, how each one is built and constrained, and what decides incremental versus full runs and their credit cost.

- Certification: Salesforce Data 360 Consultant
- Exam section: Data Source Connection and Ingestion
- Study guide: https://www.certifyforce.com/study-guide/data-360-consultant

**Official exam objective:**

> Explain data transformation capabilities within Data 360.

## What the exam expects

- Choose a streaming transform, batch transform or formula field from latency, sources and result shape.
- Configure a streaming transform: SQL with a primary key, a valid target DLO, joins, shared targets, delete-and-recreate.
- Pick the batch node (Append, Aggregate, Join or lookup, Update, Filter, Flatten JSON, Split) and valid input/output objects.
- Predict incremental versus full batch runs and their credit cost; design joins that avoid duplicates and skew.

Key terms:
- **Streaming data transform:** continuous SQL that reads one source record and writes rows to a different target.
- **Batch data transform:** a node canvas run on a schedule or on demand.
- **Target DLO:** the DLO a transform writes to, then mapped to the data model.
- **Incremental run:** a batch run over changed input rows only.
- **Lookup:** a batch join that keeps one row per left-side row.

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Streaming source vs target | Must be different objects | [Streaming transforms](https://help.salesforce.com/s/articleView?id=data.c360_a_streaming_transform_overview.htm&language=en_US&type=5) |
| Streaming edits | Delete and recreate; the target object remains | [Streaming considerations](https://help.salesforce.com/s/articleView?id=data.c360_a_streaming_transform_considerations.htm&language=en_US&type=5) |
| Streaming latency | Up to 30 minutes initial sync, then a few minutes | [Streaming considerations](https://help.salesforce.com/s/articleView?id=data.c360_a_streaming_transform_considerations.htm&language=en_US&type=5) |
| Streaming joins | INNER or LEFT JOIN, up to 5 objects | [Streaming joins](https://help.salesforce.com/s/articleView?id=data.c360_a_join_data_streaming_transform.htm&language=en_US&type=5) |
| Batch object mix | No DLO input with DMO output, or the reverse | [Batch nodes](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_nodes_overview.htm&language=en_US&type=5) |
| Incremental threshold | Scheduled, input changes under 5% | [Run types](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_run_types.htm&language=en_US&type=5) |
| Daily full run | First scheduled run each day | [Run types](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_run_types.htm&language=en_US&type=5) |
| Transform billing | Higher of rows read or written; failed runs free | [Transform billing](https://help.salesforce.com/s/articleView?id=data.c360_a_billing_considerations_for_data_transforms.htm&language=en_US&type=5) |
| Skew rule of thumb | One key over 5-10% of rows | [Batch best practices](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_best_practices.htm&language=en_US&type=5) |
| Formula recalculation | On stream refresh, changed records only | [Formula fields](https://help.salesforce.com/s/articleView?id=data.c360_a_formula_expression_library.htm&language=en_US&type=5) |

## Check yourself

- Why doesn't a customer update refresh rows from a streaming join?
- When does an incremental-eligible batch transform still run in full?
- Why use a lookup instead of a join with duplicate right-side keys?
- Which node replaces values only where key pairs match another source?

## Sources

- [Streaming Data Transforms](https://help.salesforce.com/s/articleView?id=data.c360_a_streaming_transform_overview.htm&language=en_US&type=5)
- [Considerations for Working with Streaming Data Transforms](https://help.salesforce.com/s/articleView?id=data.c360_a_streaming_transform_considerations.htm&language=en_US&type=5)
- [Join Data in a Streaming Transform](https://help.salesforce.com/s/articleView?id=data.c360_a_join_data_streaming_transform.htm&language=en_US&type=5)
- [Get Started with Streaming Data Transforms in Data 360](https://trailhead.salesforce.com/content/learn/modules/streaming-data-transforms-quick-look/get-started-with-streaming-data-transforms-in-data-cloud)
- [Batch Data Transforms](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_overview.htm&language=en_US)
- [Get Started With Batch Data Transforms in Data 360](https://trailhead.salesforce.com/content/learn/modules/batch-data-transforms-in-data-cloud-quick-look/get-started-with-batch-data-transforms-in-data-360)
- [Work with Nodes in Batch Data Transforms](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_nodes_overview.htm&language=en_US&type=5)
- [Transformations for Batch Data Transforms](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_transformation_overview.htm&language=en_US)
- [Flatten JSON Data](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_flatten_json.htm&language=en_US&type=5)
- [Considerations for Using Joins](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_join_considerations.htm&language=en_US&type=5)
- [Lookup](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_join_lookup.htm&language=en_US&type=5)
- [Write the Batch Data Transform Results to a Data Model Object Output Node](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_output_node_dmo.htm&language=en_US&type=5)
- [Batch Data Transform Run Types](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_run_types.htm&language=en_US&type=5)
- [Billing Considerations for Data Transforms](https://help.salesforce.com/s/articleView?id=data.c360_a_billing_considerations_for_data_transforms.htm&language=en_US&type=5)
- [Best Practices for Batch Data Transforms](https://help.salesforce.com/s/articleView?id=data.c360_a_batch_transform_best_practices.htm&language=en_US&type=5)
- [Create a Formula Field](https://help.salesforce.com/s/articleView?id=data.c360_a_formula_expression_library.htm&language=en_US&type=5)
- [Considerations for Formula Fields in Data 360](https://help.salesforce.com/s/articleView?id=data.c360_a_considerations_formula_fields.htm&language=en_US&type=5)
- [Marketing Cloud Engagement Connector](https://help.salesforce.com/s/articleView?id=data.c360_a_marketing_cloud_data_sources.htm&language=en_US&type=5)
- [Connect and Map Your Data](https://trailhead.salesforce.com/content/learn/modules/data-cloud-connectors-and-integrations/connect-and-map-data)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 16 linked practice questions, and unlimited timed mock exams are included with the Data 360 Consultant pack (USD $19): https://www.certifyforce.com/practice-exams
