> 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.

# Local Upload

Kumo allows you to create tables by uploading **Parquet** or **CSV** files directly from your local machine, or from a cloud storage that your local machine can access (S3, GCS, Azure Blob/ADLS).
This method **bypasses connector setup** and goes straight to table creation.

## Uploading a Local File

You can upload files of up to 1 GB directly from the Kumo Web Interface.

1. Navigate to **Tables** in the side menu and click **Add Table**.

   ![Screenshot2025 06 30at10 29 01AM Pn](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/nvidia-sdgm.docs.buildwithfern.com/3e1a40636a0933dad21245908b2f7805120d7c9ec1d0351260e05da1d11c343f/images/Screenshot2025-06-30at10.29.01AM.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260912%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260912T203850Z&X-Amz-Expires=604800&X-Amz-Signature=bd9a1f1183befb0528cc89d5de8055277e60425598049c06a55eafa833a0b7ef&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)
2. Select **Local Upload** from the **Source** drop-down menu.
3. Drag and drop your file, or click **Browse** to select a file from your computer.

   ![Screenshot 2025-06-25 at 9.53.26 AM.png](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/nvidia-sdgm.docs.buildwithfern.com/5723b20a42fc3002e3154913e4d1129233dd5ecd8c789d753ddc63fb174fa972/images/Screenshot2025-06-25at9.53.26AM.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260912%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260912T203850Z&X-Amz-Expires=604800&X-Amz-Signature=f68696c6796c8743d5355b9a7c7f12f2d844eca0a0fab9c692b94e280024b15d&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

CSV files must contain more than **one column**.

4. Click **Upload** to begin the upload.

   ![Screenshot2025 06 30at10 31 32AM Pn](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/nvidia-sdgm.docs.buildwithfern.com/168028ab380cb047e853d66c5f28a1a47c91d31f1f33fc70fe6ec5cf88ffca38/images/Screenshot2025-06-30at10.31.32AM.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260912%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260912T203850Z&X-Amz-Expires=604800&X-Amz-Signature=73900036206e9822aaae3f49dd5229c90874cfd4ed6f4904d8aad0ae8a78e2ee&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)
5. Once the upload is complete, Kumo will display the table's columns and preprocessing options.

   ![Screenshot2025 06 30at10 32 16AM Pn](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/nvidia-sdgm.docs.buildwithfern.com/686e5a9cb09fd34989d151f136a05ccff1afa575d916c18ef8090b263be2afbf/images/Screenshot2025-06-30at10.32.16AM.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260912%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260912T203850Z&X-Amz-Expires=604800&X-Amz-Signature=3315d777f3a82521120f74d66bdc266384ddd79b14e52b794af199c172a15182&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)
6. Click **Add Table** to finalize your table.

   ![Screenshot2025 06 30at10 32 24AM Pn](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/nvidia-sdgm.docs.buildwithfern.com/e53455d858efd0b468b71df171cbf311e9dda09bac893b5e3853d1287108ea57/images/Screenshot2025-06-30at10.32.24AM.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260912%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260912T203850Z&X-Amz-Expires=604800&X-Amz-Signature=d1ec1e5f7f3fd070f7517f4740ba330397850a50a15635b692f84b8cc312c151&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

## Upload via SDK (FileUploadConnector)

Use the SDK when you want to automate uploads, handle datasets up to 300 GB in size, or upload from cloud storage (S3, GCS, Azure Blob/ADLS).

### Quick examples

#### Local file system (single file)

```python
import kumoai

# Create a Parquet upload connector and push a table
conn = kumoai.FileUploadConnector(file_type="parquet")
conn.upload(name="users", path="/data/users.parquet")

# Confirm the table is available
assert conn.has_table("users")

# Clean up if needed
conn.delete(name="users")
```

#### Partitioned S3 directory (sharded dataset)

```python
import kumoai

# Create a CSV upload connector and push a partitioned dataset from S3.
# The path should point at a directory/prefix containing many CSV shards, e.g.:
# s3://my-bucket/events/part-0000.csv
# s3://my-bucket/events/part-0001.csv
# s3://my-bucket/events/part-0002.csv
conn = kumoai.FileUploadConnector(file_type="csv")
conn.upload(name="events", path="s3://my-bucket/events/")

# Confirm the table is available
assert conn.has_table("events")
```

### Capabilities

* Accepts Parquet or CSV; choose the format when constructing the connector.
* Supports **single-file uploads up to 1 GB**.
* Supports **sharded Parquet/CSV directory uploads up to 300 GB** (local paths or cloud prefixes).
* Remote paths supported: `s3://`, `gs://`, `abfs://`, `abfss://`, `az://`.
* Directory uploads are treated as a dataset: Kumo discovers shards under the prefix and ingests them as one logical table.
* All shards within a directory must have the same schema (aligned columns and types).
* Column names must only contain alphanumeric characters (no spaces or punctuation).
* Tables are addressable via `connector["table_name"]` once uploaded.

See the full SDK reference for options and behaviors: [FileUploadConnector docs](/sdk/kumoai-connector#fileuploadconnector).