The Parent Segment configuration is a JSON file that tells Composable Audience Studio which Databricks tables and columns to use. Following the Parent Segment data model, it defines:
- Master -- points to the single Customers table
- Attributes -- columns from the Customers table available for segmentation
- Behaviors -- separate event/activity tables linked to the Customers table
{
"name": "<parent_segment_name>",
"description": "<description>",
"timezone": "UTC",
"kind": "composable",
"isComposable": true,
"master": { ... },
"attributes": [ ... ],
"behaviors": [ ... ]
}| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name for the Parent Segment |
description | string | Yes | Description of the Parent Segment |
timezone | string | Yes | Timezone for time-based operations (e.g., UTC) |
kind | string | Yes | Must be composable |
isComposable | boolean | Yes | Must be true |
master | object | Yes | Customers table definition |
attributes | array | Yes | Array of attribute column definitions from the Customers table |
behaviors | array | Yes | Array of Behaviors table definitions |
The master object points to your single Customers table. This is the central profile table that all attributes come from and all behaviors link to.
Databricks uses connectionId (instead of federatedQueryConfigId) and requires a catalog field for Unity Catalog.
"master": {
"name": "customers",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"keyColumn": "cdp_customer_id"
}| Field | Type | Description |
|---|---|---|
name | string | Display name for the Customers table |
connectionId | string | ID from your Databricks authentication configuration (Step 3) |
catalog | string | Databricks Unity Catalog name |
schema | string | Databricks schema name |
table | string | Databricks table name |
keyColumn | string | Unique identifier column (e.g., cdp_customer_id) |
Each attribute maps a column from the Customers table to a segmentation property in CAS. Since all attributes reside in the Customers table, the table, tableKey, and masterKey fields all reference the same Customers table and its key column.
{
"id": "1",
"name": "email",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"column": "email",
"type": "string",
"createdAt": "2025-11-21T06:05:04.037Z",
"updatedAt": "2025-11-21T06:05:04.037Z"
}| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for this attribute (sequential, starting from 1) |
name | string | Display name in the CAS segment builder |
connectionId | string | Databricks authentication ID |
catalog | string | Databricks Unity Catalog name (same as master) |
schema | string | Databricks schema (same as master) |
table | string | Must be the Customers table name |
tableKey | string | Key column in the Customers table (e.g., cdp_customer_id) |
masterKey | string | Same as tableKey since attributes come from the Customers table |
column | string | Column name in the Customers table containing the attribute value |
type | string | Data type: string, number, boolean, or date |
createdAt | string | ISO 8601 timestamp (use current time) |
updatedAt | string | ISO 8601 timestamp (use current time) |
All attributes reference the same Customers table. The table field for every attribute must match the master.table value.
Each behavior maps a separate Behaviors table to CAS. The Behaviors table is linked to the Customers table via cdp_customer_id.
{
"id": "1",
"name": "behavior_pageviews",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "behavior_pageviews",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"timeColumn": "time",
"createdAt": "2025-11-21T06:05:04.056Z",
"updatedAt": "2025-11-21T06:05:04.056Z",
"columnMapping": [
{
"name": "td_url",
"type": "string",
"cdwColumn": "td_url"
},
{
"name": "td_title",
"type": "string",
"cdwColumn": "td_title"
}
]
}| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for this behavior |
name | string | Display name in CAS |
connectionId | string | Databricks authentication ID |
catalog | string | Databricks Unity Catalog name |
schema | string | Databricks schema |
table | string | Databricks Behaviors table name (separate from the Customers table) |
tableKey | string | Column in the Behaviors table linking to the Customers table (e.g., cdp_customer_id) |
masterKey | string | Key column in the Customers table (e.g., cdp_customer_id) |
timeColumn | string | Column containing the event timestamp |
createdAt | string | ISO 8601 timestamp |
updatedAt | string | ISO 8601 timestamp |
columnMapping | array | Array of event column definitions |
Each entry in columnMapping:
| Field | Type | Description |
|---|---|---|
name | string | Display name for the column in CAS |
type | string | Data type: string, number, boolean, or date |
cdwColumn | string | Actual column name in the Databricks Behaviors table |
| Aspect | Snowflake | Databricks |
|---|---|---|
| Connection ID field | federatedQueryConfigId | connectionId |
| Catalog field | Not required | catalog (required for Unity Catalog) |
| Authentication | RSA key pair | Service principal PAT |
| Connection setup | Zero-Copy > Snowflake | Integration Hub > Authentications > Databricks |
This example defines a "Retail Composable Audience" with 12 customer attributes from the Customers table and 1 Behaviors table:
{
"name": "Retail Composable Audience",
"description": "Description of the composable audience",
"timezone": "UTC",
"kind": "composable",
"isComposable": true,
"master": {
"name": "customers",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"keyColumn": "cdp_customer_id"
},
"attributes": [
{
"id": "1",
"name": "email",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"column": "email",
"type": "string",
"createdAt": "2025-11-21T06:05:04.037Z",
"updatedAt": "2025-11-21T06:05:04.037Z"
},
{
"id": "2",
"name": "address",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"column": "address",
"type": "string",
"createdAt": "2025-11-21T06:05:04.044Z",
"updatedAt": "2025-11-21T06:05:04.044Z"
},
{
"id": "3",
"name": "aov",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"column": "aov",
"type": "number",
"createdAt": "2025-11-21T06:05:04.053Z",
"updatedAt": "2025-11-21T06:05:04.053Z"
},
{
"id": "4",
"name": "city",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"column": "city",
"type": "string",
"createdAt": "2025-11-21T06:05:04.053Z",
"updatedAt": "2025-11-21T06:05:04.053Z"
},
{
"id": "5",
"name": "country",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"column": "country",
"type": "string",
"createdAt": "2025-11-21T06:05:04.053Z",
"updatedAt": "2025-11-21T06:05:04.053Z"
},
{
"id": "6",
"name": "first_name",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"column": "first_name",
"type": "string",
"createdAt": "2025-11-21T06:05:04.053Z",
"updatedAt": "2025-11-21T06:05:04.053Z"
},
{
"id": "7",
"name": "last_name",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"column": "last_name",
"type": "string",
"createdAt": "2025-11-21T06:05:04.053Z",
"updatedAt": "2025-11-21T06:05:04.053Z"
},
{
"id": "8",
"name": "gender",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"column": "gender",
"type": "string",
"createdAt": "2025-11-21T06:05:04.053Z",
"updatedAt": "2025-11-21T06:05:04.053Z"
},
{
"id": "9",
"name": "ltv",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"column": "ltv",
"type": "number",
"createdAt": "2025-11-21T06:05:04.053Z",
"updatedAt": "2025-11-21T06:05:04.053Z"
},
{
"id": "10",
"name": "membership_tier",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"column": "membership_tier",
"type": "string",
"createdAt": "2025-11-21T06:05:04.053Z",
"updatedAt": "2025-11-21T06:05:04.053Z"
},
{
"id": "11",
"name": "next_best_channel",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"column": "next_best_channel",
"type": "string",
"createdAt": "2025-11-21T06:05:04.053Z",
"updatedAt": "2025-11-21T06:05:04.053Z"
},
{
"id": "12",
"name": "next_best_offer",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "customers",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"column": "next_best_offer",
"type": "string",
"createdAt": "2025-11-21T06:05:04.053Z",
"updatedAt": "2025-11-21T06:05:04.053Z"
}
],
"behaviors": [
{
"id": "1",
"name": "behavior_pageviews",
"connectionId": "341079",
"catalog": "cas_demo_east1",
"schema": "public",
"table": "behavior_pageviews",
"tableKey": "cdp_customer_id",
"masterKey": "cdp_customer_id",
"timeColumn": "time",
"createdAt": "2025-11-21T06:05:04.056Z",
"updatedAt": "2025-11-21T06:05:04.056Z",
"columnMapping": [
{
"name": "td_url",
"type": "string",
"cdwColumn": "td_url"
},
{
"name": "td_title",
"type": "string",
"cdwColumn": "td_title"
}
]
}
]
}