> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/sdgm/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/sdgm/_mcp/server.

# Data Connectors

> Connect Kumo to Amazon S3, BigQuery, Snowflake, Databricks, and Google Cloud Storage, or upload local files.

> **Prerelease documentation**
>
> This Kumo Studio information is prerelease and is not yet supported. Stay tuned for the Docker and Kubernetes releases.

To train models, you need to connect a data source first.
Once connected, Kumo can train and retrain models as your data is refreshed.
For identity-backed sources, an administrator must first create an identity and assign it to the Group that owns your Project.

## Set up Connector

1. Go to **Connectors** from the side menu and select **Add Connector**.

2. Select your data source.

3. Select a compatible identity already assigned to your Project's Group.

4. Enter the following:

   | Field              | Requirement |
   | ------------------ | ----------- |
   | **Connector name** | Required.   |
   | **Description**    | Optional.   |

5. Provide the target fields for that source.

6. Select **Add** to create the connector.

> **Warning**
>
> **Important:** You need an identity with the right permissions before you can create a connector.
> If no suitable identity is available, contact your administrator to [create and assign an identity](/kumo-engine/1.0.0/kumo-studio-guide-coming-soon/preliminary-documentation/admin-and-setup/create-and-manage-identities) for your Group.

### Supported Data Sources

Kumo currently supports the following data source types:

| Data source                                   | What it supports                                    |
| --------------------------------------------- | --------------------------------------------------- |
| [Amazon S3](#amazon-s3)                       | Reads Parquet (recommended) and CSV files from S3.  |
| [BigQuery](#bigquery)                         | Reads BigQuery tables.                              |
| [Snowflake](#snowflake)                       | Reads Snowflake tables and views.                   |
| [Databricks](#databricks)                     | Reads Databricks tables.                            |
| [Google Cloud Storage](#google-cloud-storage) | Reads Parquet and CSV files from GCS.               |
| [Local Upload](#local-upload)                 | Uploads a local CSV or Parquet file through the UI. |

### ![](/sdgm/_fern-img/756b9654b116def6452ec58a82a91b3110c9ac9190eab93897fd061989aabe8c.webp)Amazon S3

Select an Amazon S3 identity, then enter the following:

| Field                           | Requirement                                      |
| ------------------------------- | ------------------------------------------------ |
| **Connector name**              | Required.                                        |
| **Description**                 | Optional.                                        |
| **S3 base location (optional)** | Accepts `bucket/prefix` or `s3://bucket/prefix`. |
| **Region (optional)**           | Provide for a rooted connector when needed.      |

Choose a connector mode:

| Mode             | Behavior                                                                                                                         |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| No base location | Creates source-only any-URI mode. Each table must use a full `s3://` URI, and the connector cannot list tables or write outputs. |
| Rooted connector | Constrains relative paths to its bucket and prefix.                                                                              |

The root directory can contain files or second-level table directories:

* When it contains files, Kumo ignores subdirectories and ingests files as tables.
* When it contains directories, each is one table; files within it must have the same format and schema, and it cannot contain further nested directories.

Do not use dots in the S3 bucket name.

```text
|-- Root directory
  |-- Table 1
    |-- File 1 (CSV or Parquet)
    |-- File 2 (CSV or Parquet)
  |-- Table 2
    |-- File 1 (CSV or Parquet)
    |-- File 2 (CSV or Parquet)
```

Use the following file-format guidance:

* Cast columns to their proper data types.
* Do not use Hive-partitioned tables.

Limits:

* Each Parquet partition must not exceed 512 MB.
* CSV tables can have up to 128 partitions and up to 10 GB total.

> **Tip**
>
> Limit the root to 30 tables for best performance.
> Use Parquet where possible, especially for large datasets.

### ![](/sdgm/_fern-img/36b1fa63c2ce2c31184fa45f31b7301965d46f8526048c630c05284ac869cc15.webp)BigQuery

Select a BigQuery identity, then enter the following:

| Field                             | Requirement                           |
| --------------------------------- | ------------------------------------- |
| **Connector name**                | Required.                             |
| **Description**                   | Optional.                             |
| **Data project ID**               | Required.                             |
| **Dataset**                       | Required.                             |
| **Location (defaults to US)**     | Required.                             |
| **Billing project ID (optional)** | Sets the project charged for queries. |

To verify the connection:

1. Select the connector from the list on the **Connectors** page.
2. Review its details in the right panel.

![Connector detail panel for a BigQuery connector, showing its project, dataset, and connected tables](/sdgm/_fern-img/b0765a418c87e241850de2fc4745e6c8e5366d6d4fa5377f6f2f2c2ab86c9b87.webp)

### ![](/sdgm/_fern-img/bbafeb81e603a4af89d2adafe6b5d6eb61a9ad259a63752ee62df453b137332f.webp)Snowflake

Select a compatible Snowflake identity, then enter the following:

| Field               | Requirement                            |
| ------------------- | -------------------------------------- |
| **Connector name**  | Required.                              |
| **Description**     | Optional.                              |
| **Role (optional)** | Specifies the role for this connector. |
| **Warehouse**       | Required.                              |
| **Database**        | Required.                              |
| **Schema**          | Required.                              |

The selected identity's service account must have access to the database, schema, and warehouse through the connector's **Role (optional)** when you provide one, or through its default role when you leave the field blank.

For a database `customer_db`, schema `customer_schema`, warehouse `customer_warehouse`, and role `user_role`, grant the minimum privileges below.

`CREATE TABLE` and `DROP TABLE` are needed only when Kumo writes predictions back.

> **Warning**
>
> When **Role (optional)** is blank, Kumo uses the service account's `DEFAULT_ROLE`.
> Run `DESCRIBE USER <username>` in Snowflake to check that role.

```sql
-- Replace user_role with the connector role, or with the service account's DEFAULT_ROLE when no connector role is set.
-- Run DESCRIBE USER <username> to identify the DEFAULT_ROLE when needed.
-- Grant usage privilege on the database.
GRANT USAGE ON DATABASE customer_db TO ROLE user_role;
-- Grant usage and monitoring on the schema, plus view-creation privileges.
GRANT USAGE, MONITOR, CREATE VIEW, CREATE MATERIALIZED VIEW ON SCHEMA customer_db.customer_schema TO ROLE user_role;
-- REFERENCES lets Kumo query information-schema metadata.
GRANT SELECT, REFERENCES ON ALL TABLES IN SCHEMA customer_db.customer_schema TO ROLE user_role;
-- Optional: allow read access to future tables in the schema.
GRANT SELECT, REFERENCES ON FUTURE TABLES IN SCHEMA customer_db.customer_schema TO ROLE user_role;
-- Allow predictions to be written back to the schema.
GRANT CREATE TABLE ON SCHEMA customer_db.customer_schema TO ROLE user_role;
GRANT DROP TABLE ON SCHEMA customer_db.customer_schema TO ROLE user_role;
-- Allow Kumo to use the warehouse.
GRANT USAGE ON WAREHOUSE customer_warehouse TO ROLE user_role;
```

If the instance is VPN-protected, add the Kumo Cloud Network gateway to its allowlist as described in Snowflake's [network-policies documentation](https://docs.snowflake.com/en/user-guide/network-policies).

Recommended SaaS warehouse sizes:

| Largest table size | Recommended SaaS warehouse size |
| ------------------ | ------------------------------- |
| Up to 10 GB        | Small                           |
| Up to 50 GB        | Large                           |
| Up to 100 GB       | Large                           |
| Up to 1 TB         | 4X-Large                        |

#### Snowflake Secure Data Sharing legacy path

> **Warning**
>
> Secure Data Sharing and `secure_data_sharing` are not current identity or Add Connector options.
> This retained alternative provisioning guidance does not describe the current connector UI.

To set up Secure Data Sharing:

1. Enable Provider Sharing in Snowflake.
2. Share within the same cloud and region when possible.
3. Create a share, grant it access to the required database objects, then add the matching Kumo account:

Constraints:

* If regions differ, data replication is required, but Kumo does not recommend it.
* Secure Sharing is available in Standard, Enterprise, Business Critical, and VPS editions, although Business Critical accounts cannot share with lower editions.

```sql
CREATE SHARE KUMO_SHARE;
GRANT USAGE ON DATABASE my_database TO SHARE kumo_share;
GRANT USAGE ON SCHEMA my_database.myschema TO SHARE kumo_share;
GRANT SELECT ON TABLE my_database.myschema.shared_table TO SHARE kumo_share;
ALTER SHARE KUMO_SHARE ADD ACCOUNTS=<OrgName>.<Account Name>;
```

Sharing constraints:

* The creating role needs `CREATE SHARE` and access to the shared objects.
* Shares may include tables, external tables, secure views, and secure materialized views, but only secure views can be shared as views.
* Avoid `SELECT(*)` in views because source-table changes can break it.
* Kumo incurs the compute cost of querying shared data, so you do not incur extra storage costs for the share.

Use the Kumo account that matches your cloud and region:

| Cloud | Region                | Locator  | Org Name | Account Name      | Edition           |
| ----- | --------------------- | -------- | -------- | ----------------- | ----------------- |
| AWS   | US West (Oregon)      | YRB86739 | LFWGWBP  | ZXA66432          | Business Critical |
| AWS   | US West (Oregon)      | YRB86739 | LFWGWBP  | KUMOUSWEST        | Enterprise        |
| AWS   | US East (N. Virginia) | IUB99615 | LFWGWBP  | KUMO_US_EAST1     | Enterprise        |
| AWS   | US East (Ohio)        | RR45566  | LFWGWBP  | KUMO_US_EAST_OHIO | Enterprise        |
| AWS   | US East (N. Virginia) | CZB55260 | LFWGWBP  | KUMOUSEAST1BC     | Business Critical |

Security considerations:

1. Kumo creates a database from the received share for EDA and proof-of-value operations.
2. Kumo creates a unique role in that database to control access.
3. Access is provided only to Kumo's designated point of contact.

Use `SHARE_USAGE`, `QUERY_HISTORY`, and `LOGIN_HISTORY` to audit use, and regularly review the assigned role and share permissions.

### ![](/sdgm/_fern-img/ab5837b999a5e77cbf404556ffbf717a16dc57c5917bf6e694cded94796d7e12.webp)Databricks

Select a compatible Databricks identity, then enter the following:

| Field                | Requirement |
| -------------------- | ----------- |
| **Connector name**   | Required.   |
| **Description**      | Optional.   |
| **SQL warehouse ID** | Required.   |
| **Catalog**          | Required.   |
| **Schema**           | Required.   |

> **Note**
>
> The current UI does not offer Cluster ID or personal-access-token fields.

### ![](/sdgm/_fern-img/1fee976ebb805b68cdfb03a9aede045dfb70b95f3532f9468e02f204652afa03.webp)Google Cloud Storage

Select a compatible Google Cloud Storage identity, then enter the following:

| Field                                 | Requirement                                    |
| ------------------------------------- | ---------------------------------------------- |
| **Connector name**                    | Required.                                      |
| **Description**                       | Optional.                                      |
| **GCS base location (optional)**      | Sets the bucket and prefix for relative paths. |
| **Requester-pays project (optional)** | Provide for requester-pays access.             |

Choose a connector mode:

| Mode             | Behavior                                                                                  |
| ---------------- | ----------------------------------------------------------------------------------------- |
| No base location | Requires a full `gs://` URI for every table and prevents table listing and output writes. |
| Rooted connector | Bounds relative paths to its selected bucket and prefix.                                  |

### ![](/sdgm/_fern-img/939089a26a5ee6e75eae641ebee81eaa37901c1fe50d54f49f157382c2c646f0.webp)Local Upload

Local Upload is available in the current release and does not require an identity or connector.

![Add New Table page with Local Upload selected as the source type, showing the file drop area](/sdgm/_fern-img/a8c360ebaf60231be23c6b395b2fd4838967b07d4508aed9c4689d69254dc78b.webp)

1. On **Tables**, select **Add table**.
2. Choose **Local Upload** from **Source**.
3. Drag in or browse to a CSV or Parquet file.
4. Select **Upload**.
5. Review columns and preprocessing options.
6. Select **Add table**.

Upload limits:

* Files uploaded through the UI can be up to 100 GiB.
* CSV files must contain more than one column.

## Managing Connectors

To edit or delete a connector:

1. Select it.
2. Click the **︙ options button**.
3. Choose **Edit** or **Delete**.

Editing changes only the connector name and description.
The referenced identity and target configuration are immutable.

## Next steps

After connecting a data source, [create a table](/kumo-engine/1.0.0/kumo-studio-guide-coming-soon/preliminary-documentation/connect-data/select-tables) to make its data available for graph creation.