> 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 1GB directly from the Kumo Web Interface.

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

   ![Screenshot2025 06 30at10 29 01AM Pn](/sdgm/_files/nvidia-sdgm.docs.buildwithfern.com/3e1a40636a0933dad21245908b2f7805120d7c9ec1d0351260e05da1d11c343f/images/Screenshot2025-06-30at10.29.01AM.png)
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](/sdgm/_files/nvidia-sdgm.docs.buildwithfern.com/5723b20a42fc3002e3154913e4d1129233dd5ecd8c789d753ddc63fb174fa972/images/Screenshot2025-06-25at9.53.26AM.png)

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

4. Click **Upload** to start the file upload process.

   ![Screenshot2025 06 30at10 31 32AM Pn](/sdgm/_files/nvidia-sdgm.docs.buildwithfern.com/168028ab380cb047e853d66c5f28a1a47c91d31f1f33fc70fe6ec5cf88ffca38/images/Screenshot2025-06-30at10.31.32AM.png)
5. Once the upload is complete, Kumo will display the table's columns and preprocessing options.

   ![Screenshot2025 06 30at10 32 16AM Pn](/sdgm/_files/nvidia-sdgm.docs.buildwithfern.com/686e5a9cb09fd34989d151f136a05ccff1afa575d916c18ef8090b263be2afbf/images/Screenshot2025-06-30at10.32.16AM.png)
6. Click **Add Table** to finalize your table.

   ![Screenshot2025 06 30at10 32 24AM Pn](/sdgm/_files/nvidia-sdgm.docs.buildwithfern.com/e53455d858efd0b468b71df171cbf311e9dda09bac893b5e3853d1287108ea57/images/Screenshot2025-06-30at10.32.24AM.png)

## Upload via SDK (FileUploadConnector)

Use the SDK when you want to automate uploads, handle datasets up to 300GB 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 1GB**.
* Supports **sharded Parquet/CSV directory uploads up to 300GB** (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).