The functionality to export arrays and other complex objects to cloud storage destinations is generally available for the following destinations: Azure Data Lake Storage Gen2, Data Landing Zone, Google Cloud Storage, Amazon S3, Azure Blob, SFTP.
Additionally, you can export map-type fields to the following destinations: Amazon Kinesis, HTTP API, Azure Event Hubs, Adobe Target.
Learn how to export arrays, maps, and objects from Real-Time CDP to cloud storage destinations. Additionally, you can export map-type fields to enterprise destinations and limited edge personalization destinations. Read this document to understand the export workflow, the use cases enabled by this functionality, and known limitations. View the table below to understand the functionality available per destination type.
Type of destination | Ability to export arrays, maps, and other custom objects |
---|---|
Adobe-authored cloud storage destinations (Amazon S3, Azure Blob, Azure Data Lake Storage Gen2, Data Landing Zone, Google Cloud Storage, SFTP) | Yes, with the Enable export of arrays, maps, and objects toggle turned ON when setting up a destination connection. |
File-based email marketing destinations (Adobe Campaign, Oracle Eloqua, Oracle Responsys, Salesforce Marketing Cloud) | No |
Existing custom partner-built cloud storage destinations (custom file-based destinations built via Destination SDK) | No |
Enterprise destinations (Amazon Kinesis, Azure Event Hubs, HTTP API) | Partially. You can select and export map-type objects in the mapping step of the activation workflow. |
Streaming destinations (for example: Facebook, Braze, Google Customer Match, and more) | No |
Edge personalization destinations (Adobe Target) | Partially. You can select and export map-type objects in the mapping step of the activation workflow. |
Consider this page your go-to place for anything that you want to know about exporting arrays, maps, and other object types from Experience Platform.
Get the most important information about the functionality in this section, and continue below to the other sections in the document for detailed information.
JSON
and Parquet
files. For enterprise and edge personalization destinations, the exported data type is JSON
. People and prospect audiences are supported, account audiences are not.array_to_string
function.In Experience Platform, you can use XDM schemas to manage different field types. Before support for array exports was added, you were able to export simple key-value pair type fields such as strings out of Experience Platform to your desired destinations. An example of such a field that was supported for export previously is personalEmail.address
:johndoe@acme.org
.
Other field types in Experience Platform include array fields. Read more about managing array fields in the Experience Platform UI. You can now export array objects such as the example below.
organizations = [{
id: 123,
orgName: "Acme Inc",
founded: 1990,
latestInteraction: "2024-02-16"
}, {
id: 456,
orgName: "Superstar Inc",
founded: 2004,
latestInteraction: "2023-08-25"
}, {
id: 789,
orgName: 'Energy Corp',
founded: 2021,
latestInteraction: "2024-09-08"
}]
In addition to arrays, you can also export maps and objects from Experience Platform to your desired cloud storage destination. Read more about maps and objects in Experience Platform.
Connect to a desired cloud storage destination, progress through the activation steps for cloud storage destinations and get to the mapping step. When connecting to the desired cloud destination, you must select the Export arrays, maps, objects toggle on. Get more information in the section below.
For enterprise and edge personalization destinations, export support for map-type fields is available without the need to select an Export arrays, maps, objects toggle on. This toggle is not available or required when connecting to these types of destinations.
When connecting to a file-based cloud storage destination, you can set the Export arrays, maps, objects toggle on or off.
Toggle this setting on to enable the export of arrays, maps, and objects to JSON or Parquet files. You can select these object types in the source field view of the mapping step when activating audiences to cloud storage destinations. However, with this setting on, you cannot use the calculated fields option to transform data on activation.
With this toggle off, you can use the calculated fields option and apply various data transformation functions when activating audiences. However, you can not export arrays, maps, and objects to JSON or Parquet files and must configure a separate destination for that purpose.
With this setting on, you can export entire objects (for example person.name
) and arrays by selecting them via the source field selector in the mapping step of the activation workflow.
With this option selected, the user interface blocks users from using calculated fields, and the Add calculated fields control is disabled, as shown below. To use calculated fields for data transformations, set up a destination connection with the toggle off.
With this option set to off, you can use the calculated fields option and apply various data transformation functions when activating audiences. However, you can not export arrays, maps, and objects to JSON or Parquet files and must configure a separate destination for that purpose.
You can export arrays, maps, and objects to CSV files by using the calculated fields functionality and concatenate them into a string by using the array_to_string
function. Read more about using that function.
Read more about working with calculated fields to perform transformations on data exported to cloud storage destinations.
By using this functionality, you can export Parquet and JSON files where the data preserves the structure from Experience Platform. View below an example of an exported JSON file.
{
"person_name_firstName": "John",
"person_name_lastName": "Smith",
"_acmeinc_customer_hs_main_address_scalar": "Oak Avenue No 12",
"_acmeinc_customer_hs_locations_array": [
"home address 12",
"office address 12"
],
"_acmeinc_customer_hs_date_array": [
"2024-11-14",
"2024-11-15"
],
"_acmeinc_customer_hs_customer_obj_emails_array0": "john.smith@example.com",
"_acmeinc_customer_hs_customer_obj": {
"emails_array": [
"john.smith@example.com",
"j.smith@example.com"
],
"name_scalar": "John Smith"
},
"_acmeinc_customer_hs_addresses_array_obj": [
{
"is_primary": true,
"streetName_scalar": "Maple Street",
"streetNo_int": 12
},
{
"is_primary": false,
"streetName_scalar": "Pine Road",
"streetNo_int": 45
}
],
"_acmeinc_customer_hs_addresses_array_obj0": {
"is_primary": true,
"streetName_scalar": "Maple Street",
"streetNo_int": 12
}
}