Skip to content

Commit 29d11dd

Browse files
authored
Merge pull request #7640 from segmentio/charholt-patch-1
Add set-up retl
2 parents d635453 + df476e5 commit 29d11dd

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

src/connections/reverse-etl/setup.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Set up Reverse ETL
33
beta: false
44
---
55

6-
There are four components to Reverse ETL: Sources, Models, Destinations, and Mappings.
6+
There are 4 components to Reverse ETL: Sources, Models, Destinations, and Mappings.
77

88
![Reverse ETL overview image](images/RETL_Doc_Illustration.png)
99

@@ -172,6 +172,18 @@ Select array | This enables you to send all nested properties within the array.
172172
173173
Objects in an array don't need to have the same properties. If a user selects a missing property in the input object for a mapping field, the output object will miss the property.
174174

175+
### Handling nested objects and arrays
176+
Segment's warehouse pipeline flattens nested fields in context, traits, and properties. As part of this process, any nested arrays or objects within these fields are stringified when sent to downstream destinations with Reverse ETL.
177+
178+
If your destination expects specific fields to be formatted as arrays or objects rather than strings, you'll need to convert the data back to its original structure before mapping.
179+
180+
For example, in Snowflake, you can use the PARSE_JSON function to convert a stringified object or array back to proper JSON format:
181+
```json
182+
SELECT PARSE_JSON(your_column) AS parsed_data
183+
FROM your_table;
184+
Reverse ETL supports reading data in JSON format and can properly convert it to objects or arrays for mapping. This ensures compatibility with destination schemas that require structured data.
185+
```
186+
175187
### Null value management
176188
You can choose to exclude null values from optional mapping fields in your syncs to some destinations. Excluding null values helps you maintain data integrity in your downstream destinations, as syncing a null value for an optional field may overwrite an existing value in your downstream tool.
177189

@@ -180,9 +192,9 @@ For example, if you opt to sync null values with your destination and an end use
180192
By default, Segment syncs null values from mapped fields to your downstream destinations. Some destinations do not allow the syncing of null values, and will reject requests that contain them. Segment disables the option to opt out of syncing null values for these destinations.
181193

182194
To opt out of including null values in your downstream syncs:
183-
1. Navigate to Connections > Destinations and select the Reverse ETL tab.
195+
1. Navigate to **Connections > Destinations** and select the **Reverse ETL** tab.
184196
2. Select the destination and the mapping you want to edit.
185-
3. Click Edit mapping.
197+
3. Click **Edit mapping**.
186198
4. Under **Optional fields**, select the field you want to edit.
187199
5. In the field dropdown selection, disable the **Sync null values** toggle.
188200

0 commit comments

Comments
 (0)