Unify and manage your data

Databricks permission prerequisites for zero-copy segmentation

Learn how to identify the Databricks roles, objects, and values required to configure permissions for zero-copy segmentation.

Attention: This feature is available to limited users through the Reltio Early Access (EA) program. Interested in finding out more about this feature or participating in our EA program? Get details in topic Early Access (EA) features.

Before granting Databricks permissions for zero-copy segmentation, identify who can grant each type of access, confirm that the required Databricks resources exist, and collect the values used in the SQL GRANT commands.

Reltio roles

The following Reltio roles coordinate the permission configuration:

Databricks roles

The following Databricks roles and object owners provide the required access:
ActorResponsibility
Databricks workspace administratorAssigns access to the SQL warehouse.
Databricks metastore administrator or target-schema ownerGrants access to the published entity data and permission to create the segment results table.
Unity Catalog object ownerGrants access to interaction data used by segment rules.

Prerequisites

Before you begin, confirm the following requirements are met:

Replace these placeholders in the SQL statements:
PlaceholderValue
<sp>Application ID of the Databricks connection service principal.
<catalog>Catalog configured for Reltio Data Pipeline for Databricks. Use the same value for segmentationCatalog on the Databricks connection.
<adapter_name>Name of the data pipeline adapter whose type is deltalake.
<target_schema>Target schema created by the data pipeline. Copy the name exactly as returned by Databricks.
<interaction_catalog>Catalog containing a mapped interaction source.
<interaction_schema>Schema containing a mapped interaction source.
<interaction_table>Mapped interaction table or view.

Send the Reltio API requests in this task to your Reltio tenant, and run the SQL statements in the Databricks SQL editor or a notebook attached to the SQL warehouse configured in the Reltio Databricks connection.

To prepare to configure Databricks permissions for zero-copy segmentation
  1. Get the target catalog and adapter names from the Reltio Data Pipeline for Databricks configuration.
    1. Send this request:
      GET {platformUrl}/reltio/tenants/{tenantId}/dataPipelineConfig
    2. In the adapters array, locate the adapter where type is deltalake.
    3. Copy the value of databricksConfig.catalog.
      Use this value for <catalog> in the SQL GRANT commands and for segmentationCatalog when you create the Databricks connection.
    4. Copy the value of the adapter's name field.
      Use this value for <adapter_name> when identifying the target schema.
  2. Run the following SQL command in Databricks to list the schemas created by the data pipeline in the configured catalog:
    SHOW SCHEMAS IN <catalog> LIKE 'dph_dlt_target_*';
  3. From the query results, locate the target schema for your tenant.

    The target schema follows this pattern:

    dph_dlt_target_<environment>_<adapter_name>_<tenant_id>

    Use the following values to identify the schema:

    • <environment>: Reltio environment name. The value is lowercase, and characters other than letters, digits, and underscores become underscores. For example, idev-02 becomes idev_02.

    • <adapter_name>: Value of the adapter's name field from Step 1. The adapter type is deltalake, but its name may be different.

    • <tenant_id>: Reltio tenant identifier.

    Copy the schema name exactly as Databricks returns it and use the value for <target_schema>.

    For example, environment idev-02, adapter name deltalake, and tenant ZeroCopyDataBricks produce:

    dph_dlt_target_idev_02_deltalake_zerocopydatabricks
  4. In the Databricks workspace, open Settings > Identity and access > Service principals, select the service principal used by the Reltio Databricks connection, and copy its application ID.
    Use this value for <sp> in the SQL GRANT commands.
  5. If segment rules use interaction attributes, open each interaction mapping and copy the catalog, schema, and table or view that identifies the Databricks source.
    Use these values for <interaction_catalog>, <interaction_schema>, and <interaction_table>.
  6. Record the collected values.

Result

The required Databricks administrators and object owners are identified. The catalog, target schema, service principal application ID, and any mapped interaction sources are available for the SQL GRANT commands. Continue with Configure Databricks permissions for zero-copy segmentation.