> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zeotap.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create and Implement a Databricks Source

## Components of Databricks Source

Obtain the following components from your Databricks account before creating a Databricks source in Zeotap CDP:

* Databricks Host
* Catalog Name
* Schema Name
* Table Name
* [JDBC](/articles/integrate-customer/create-and-implement-a-databricks-source#h2_306711543)
  * HTTP Path
  * Databricks Client ID and Client Secret
* [Job based (Recommended)](/articles/integrate-customer/create-and-implement-a-databricks-source#h2_138813846)
  * Cluster ID
  * Warehouse ID
* Note - If you are ingesting more than 1M records, we recommend using the **Job-based approach**, as JDBC may encounter issues with large data volumes.

### Databricks Host

Databricks Host is the unique URL assigned to your Databricks workspace. Host can be found in the url for the databricks account

<Frame>
  <img src="https://mintcdn.com/zeotap/5K-Zf-MYwWXwJWp5/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02.png?fit=max&auto=format&n=5K-Zf-MYwWXwJWp5&q=85&s=8efd20803e181ac98cae733b8adb0b55" width="1462" height="190" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02.png" />
</Frame>

### Catalog Name

In Databricks, a catalog acts like a folder system. It organises schema/databases into a hierarchy, allowing users to group tables and views logically.

<Frame>
  <img src="https://mintcdn.com/zeotap/ROPrHg77hrORMuiL/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-11-05-3.png?fit=max&auto=format&n=ROPrHg77hrORMuiL&q=85&s=b764ec431dd016bfa865230407675fd8" width="1148" height="798" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-11-05-3.png" />
</Frame>

### Schema Name

In Databricks, a schema is essentially a database that contains tables. It serves as a container for organising and managing related tables, providing a structured way to store and retrieve data.

<Frame>
  <img src="https://mintcdn.com/zeotap/ROPrHg77hrORMuiL/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-11-05-4.png?fit=max&auto=format&n=ROPrHg77hrORMuiL&q=85&s=57c5bcaae32421ca4f5a510527224980" width="1148" height="798" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-11-05-4.png" />
</Frame>

### Table Name

This refers to the name of the table within the schema.

<Frame>
  <img src="https://mintcdn.com/zeotap/ROPrHg77hrORMuiL/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-11-05-5.png?fit=max&auto=format&n=ROPrHg77hrORMuiL&q=85&s=4dd2d856e9a3717341714e24f3dccdb8" width="1148" height="888" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-11-05-5.png" />
</Frame>

## Prerequisites for JDBC Approach

Before proceeding with this integration, ensure that you mandatorily complete the following prerequisite steps mentioned in the [Databricks documentation](https://docs.databricks.com/en/dev-tools/auth/oauth-m2m.html#authenticate-access-to-databricks-with-a-service-principal-using-oauth-oauth-m2m):

<CardGroup cols={1}>
  <Card title="1. Create a Service Principal" icon="user-plus" horizontal href="https://docs.databricks.com/en/dev-tools/auth/oauth-m2m.html#step-1-create-a-service-principal" />

  <Card title="2. Assign Workspace-Level Permissions to the Service Principal" icon="shield-check" horizontal href="https://docs.databricks.com/en/dev-tools/auth/oauth-m2m.html#step-2-assign-workspace-level-permissions-to-the-databricks-service-principal" />

  <Card title="3. Create an OAuth Secret for the Service Principal" icon="key" horizontal href="https://docs.databricks.com/en/dev-tools/auth/oauth-m2m.html#step-3-create-an-oauth-secret-for-a-service-principal" />
</CardGroup>

### Databricks Client ID and Client Secret

Before you can use OAuth to authenticate to Databricks, you must first create an OAuth Client Secret, which can be used to generate OAuth access tokens. Note that a service principal can have up to five OAuth secrets. Account admins and workspace admins can create an OAuth secret for a service principal. For detailed steps about how to generate Client ID and Secret, refer to the [Databricks documentation](https://docs.databricks.com/en/dev-tools/auth/oauth-m2m.html#step-3-create-an-oauth-secret-for-a-service-principal).

This information is also outlined in the [Prerequisites](/articles/integrate-customer/create-and-implement-a-databricks-source#h2_306711543) section above.

#### HTTP Path

To locate the HTTP Path on Databricks, perform the following steps:

<Steps>
  <Step>
    Log into your Databricks instance and under SQL, click **SQL Warehouses** as shown below.

    <Frame>
      <img src="https://mintcdn.com/zeotap/ROPrHg77hrORMuiL/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-11-05-2.png?fit=max&auto=format&n=ROPrHg77hrORMuiL&q=85&s=786342b8ffc6f9d8fe88409aa56afb66" width="1086" height="1414" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-11-05-2.png" />
    </Frame>
  </Step>

  <Step>
    Click the desired SQL warehouse. If an SQL warehouse does not exist, then create one by clicking **Create SQL Warehouse**.

    <Frame>
      <img src="https://mintcdn.com/zeotap/ROPrHg77hrORMuiL/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-11-05.png?fit=max&auto=format&n=ROPrHg77hrORMuiL&q=85&s=6fd4fa7e86d85d85756e99fa0440e795" width="3016" height="1456" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-11-05.png" />
    </Frame>
  </Step>

  <Step>
    On the SQL Warehouse summary page, go to the **Connection** **details** tab.

    <Frame>
      <img src="https://mintcdn.com/zeotap/ROPrHg77hrORMuiL/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-11-05-1.png?fit=max&auto=format&n=ROPrHg77hrORMuiL&q=85&s=af6894b0175c82e1ad94cbdc0cebbad2" width="3004" height="1582" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-11-05-1.png" />
    </Frame>
  </Step>

  <Step>
    Copy the **HTTP Path** from the displayed information.
  </Step>
</Steps>

### Partition Column

A partition column is a key used to organize large tables into smaller, logical groups. For example, data can be partitioned by date or region, so queries targeting a specific time range or location run much faster.

If no Partition Column exists, use any Unique Column instead.

### Unique Column Fields

Unique column in the table, for which all the rows will have different value

If partition column doesn't exist we do the following operations

1. We will first create a temporary view, and run queries over that
2. We will drop / delete the view, once we fetched all the data

## Prerequisites for Job Based Approach

#### Access token

Access token can be generated by navigating to **Settings → User setting → Developer → Generate new token**

<Frame>
  <img src="https://mintcdn.com/zeotap/5K-Zf-MYwWXwJWp5/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02-1.png?fit=max&auto=format&n=5K-Zf-MYwWXwJWp5&q=85&s=f04fc7a25f5dca5e73352dd404159fc0" width="2614" height="480" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02-1.png" />
</Frame>

#### Cluster ID

Cluster id can be found in the **compute → cluster name → automatically added tags**

<Frame>
  <img src="https://mintcdn.com/zeotap/5K-Zf-MYwWXwJWp5/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02-2.png?fit=max&auto=format&n=5K-Zf-MYwWXwJWp5&q=85&s=b5a9a6c3537d21aa960f338c038a6c65" width="1418" height="1620" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02-2.png" />
</Frame>

#### Warehouse ID

Warehouse ID can be found by navigating to **SQL warehouses → Select warehouse → warehouse Id**

<Frame>
  <img src="https://mintcdn.com/zeotap/5K-Zf-MYwWXwJWp5/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02-3.png?fit=max&auto=format&n=5K-Zf-MYwWXwJWp5&q=85&s=86420cc11e28f82d2b645188793e8e0b" width="1154" height="884" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02-3.png" />
</Frame>

## Create a Databricks Source

Once you have obtained the above details from your Databricks account, perform the following steps to create a Databricks Source in the Zeotap CDP App:

<Steps>
  <Step>
    Navigate to the **Sources** application under **Integrate**, in the Zeotap CDP App.
  </Step>

  <Step>
    Click **CREATE SOURCE**.
  </Step>

  <Step>
    Choose **Data Warehouse** as the Category.

    <Frame>
      <img src="https://mintcdn.com/zeotap/ROPrHg77hrORMuiL/articles/integrate-customer/Storage/integrate-customer/create-an-amazon-s3-source/sf_1_(1).png?fit=max&auto=format&n=ROPrHg77hrORMuiL&q=85&s=146e94f6110f76970d52baf2ab1e964b" width="3532" height="1784" data-path="articles/integrate-customer/Storage/integrate-customer/create-an-amazon-s3-source/sf_1_(1).png" />
    </Frame>
  </Step>

  <Step>
    Click **Databricks** at the Data Source.

    <Frame>
      <img src="https://mintcdn.com/zeotap/ROPrHg77hrORMuiL/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-10-21-5.png?fit=max&auto=format&n=ROPrHg77hrORMuiL&q=85&s=37be59c74bd04bf3496f418430749c73" width="3506" height="1744" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-10-21-5.png" />
    </Frame>
  </Step>

  <Step>
    Enter a short and descriptive name for the Source.
  </Step>

  <Step>
    Choose the **Region** of upload.
  </Step>

  <Step>
    Choose the Refresh Frequency from the drop-down menu.
    The first data sync takes place once you create the source. However, the subsequent syncs take place based on the refresh frequency that you select. Currently, we support the following sync frequencies:

    a. Sync once

    b. Every hour

    c. Every 3 hours

    d. Every 6 hours

    e. Every 12 hours,

    f. Daily

    g. Weekly

    h. Monthly

    i. **Sync Time**- When you choose **Daily**, **Weekly**, or **Monthly** as the sync frequency, you can specify the exact time for the sync to occur.

    ii. **Sync Period**- Indicates whether the selected **Sync Time** is in the **AM** or **PM**.

    iii. **Monthly Sync date**- If **Monthly** sync is selected, you can specify the **day of the month** on which the sync should run.
  </Step>

  <Step>
    Enter the Databricks workspace URL in the Databricks Host field.
  </Step>

  <Step>
    Provide the **Catalog Name**, **Schema Name**, and **Table Name** obtained as mentioned in the [Components of Databricks Source](/articles/integrate-customer/create-and-implement-a-databricks-source#h2_1256851356) section.

    <Frame>
      <img src="https://mintcdn.com/zeotap/5K-Zf-MYwWXwJWp5/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02-4.png?fit=max&auto=format&n=5K-Zf-MYwWXwJWp5&q=85&s=c6c91942a14f124511ef6abea3710a23" width="1496" height="778" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02-4.png" />
    </Frame>
  </Step>

  <Step>
    Under **Data Entity**, depending on the type of data you want to ingest, choose either **Customer Data** or **Non Customer Data** and proceed with the Source creation. To know more about Customer Data and Non Customer Data, refer [here](https://docs.zeotap.com/articles/unify-customer/supported-data-entities).
  </Step>

  <Step>
    Under **Delta Queries** **Selection**, you can decide whether or not you want to consider deltas (data additions/changes) in a table for a specific duration based on the timestamp column. Based on your requirement, select either **true** or **false**.

    <Frame>
      <img src="https://mintcdn.com/zeotap/xcJBv790xp5wo6aA/articles/integrate-customer/Storage/integrate-customer/create-a-bigquery-source/create-a-bigquery-source-2023-05-22-9.png?fit=max&auto=format&n=xcJBv790xp5wo6aA&q=85&s=3a41aecd8ce7a3ca7b8f03b03280b736" width="384" height="116" data-path="articles/integrate-customer/Storage/integrate-customer/create-a-bigquery-source/create-a-bigquery-source-2023-05-22-9.png" />
    </Frame>

    a. If you select **true**, only new and updated values based on the timestamp in the delta column are fetched from the table. In this case, **Delta Column Name** and **Delta Column Data Type** fields become active, and you need to provide the following information:

    i. Under **Delta Column Name**, provide the name of the column that you want to fetch data from.

    ii. Under **Delta Column Data Type**, choose the time increment for fetching the data from the selected column.

    <Frame>
      <img src="https://mintcdn.com/zeotap/xcJBv790xp5wo6aA/articles/integrate-customer/Storage/integrate-customer/create-a-bigquery-source/create-a-bigquery-source-2023-05-22-10.png?fit=max&auto=format&n=xcJBv790xp5wo6aA&q=85&s=5ef77403530a5665787eb96ce739fe03" width="1344" height="648" data-path="articles/integrate-customer/Storage/integrate-customer/create-a-bigquery-source/create-a-bigquery-source-2023-05-22-10.png" />
    </Frame>

    b. If you select **false**, then you are not required to make any additional selections. Zeotap CDP fetches all existing data from the table during each run.
  </Step>

  <Step>
    Select the mechanism you want to use to pull the data. The currently supported options are **JDBC and Job-based**

    <Frame>
      <img src="https://mintcdn.com/zeotap/5K-Zf-MYwWXwJWp5/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02-5.png?fit=max&auto=format&n=5K-Zf-MYwWXwJWp5&q=85&s=90edfec0123599c3d6bcaeeda1f6a399" width="1032" height="450" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02-5.png" />
    </Frame>
  </Step>

  <Step>
    If you selected JDBC in the previous step, please enter the values for the fields below. You can refer to the [Prerequisites for JDBC connection](/articles/integrate-customer/create-and-implement-a-databricks-source#h2_306711543) section for details on how to obtain these values.

    a. Client ID

    b. Client Secret

    c. HTTP Path

    d. Partition Table Details

    i. Partition Column Name

    ii. Partition Column Type

    e. Unique Column Name

    <Frame>
      <img src="https://mintcdn.com/zeotap/5K-Zf-MYwWXwJWp5/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02-6.png?fit=max&auto=format&n=5K-Zf-MYwWXwJWp5&q=85&s=ae2a87fad3f52e8713dc654755e3ea57" width="1350" height="718" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02-6.png" />
    </Frame>

    <Frame>
      <img src="https://mintcdn.com/zeotap/5K-Zf-MYwWXwJWp5/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-15-1.png?fit=max&auto=format&n=5K-Zf-MYwWXwJWp5&q=85&s=58654c09340cad0db341df6ec4e2a1a6" width="783" height="412" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-15-1.png" />
    </Frame>
  </Step>

  <Step>
    If you selected **Job Based** in the previous step, please enter the values for the fields below. You can refer to the [Prerequisites for Job Based](/articles/integrate-customer/create-and-implement-a-databricks-source#h2_138813846) create-and-implement-a-databricks-source.md#h2\_306711543section for details on how to obtain these values.

    a. Access Token

    b. Cluster ID

    c. Warehouse ID

    <Frame>
      <img src="https://mintcdn.com/zeotap/5K-Zf-MYwWXwJWp5/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02-7.png?fit=max&auto=format&n=5K-Zf-MYwWXwJWp5&q=85&s=bb39f14c430af5583f64d6aa4932690f" width="1234" height="756" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2025-09-02-7.png" />
    </Frame>
  </Step>

  <Step>
    Click **Next** to proceed to fields selection.
  </Step>

  <Step>
    In the window that appears, a list of fields are displayed. You can select the desired fields using the check boxes. Use **Select All** to select all the fields available in your Databricks account. If you know the field names, you can select them after searching in the search box.
  </Step>

  <Step>
    Click **CREATE SOURCE**. Upon successfully creating the source, you can view all the relevant information about the created source under the **IMPLEMENTATION DETAILS** tab.

    <Frame>
      <img src="https://mintcdn.com/zeotap/ROPrHg77hrORMuiL/articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-10-21-8.png?fit=max&auto=format&n=ROPrHg77hrORMuiL&q=85&s=c46d108cec47e0fca57503d3d1dcdfac" width="3510" height="1746" data-path="articles/integrate-customer/Storage/integrate-customer/create-and-implement-a-databricks-source/create-and-implement-a-databricks-source-2024-10-21-8.png" />
    </Frame>
  </Step>
</Steps>

<Note>
  **Note:**

  The initial data transfer from Databricks to Zeotap CDP may take time, depending on the data volume. For assistance with Databricks source setup or other questions, reach out to the Zeotap support team at [support@zeotap.com](mailto:support@zeotap.com).
</Note>
