File Upload
The File Upload loader lets you upload a data file directly in Zeotap and load it into a warehouse table — no bucket, no credentials, no connector to configure on your side. It is the quickest way to get a one-off list, an export, or a sample dataset into the platform to model, segment, and activate.
Upload a CSV, JSON, Parquet, or Avro file; Zeotap stores it in a managed location and loads its rows into a table you choose. Upload more files to the same loader later and they append to the same table.
Prerequisites
- A connected warehouse to load the data into.
- A CSV, JSON (newline-delimited), Parquet, or Avro file (up to 100 MB).
How you upload
Unlike the S3 and Google Cloud Storage loaders, you do not point Zeotap at your own bucket. You upload the file in the browser:
- In Zeotap, add a new loader and choose File Upload.
- Drag your file onto the upload area (or click to browse).
- Choose the Target Warehouse and give the destination table a name.
- Click Upload & create loader.
The file is uploaded straight to Zeotap’s managed storage and loaded into your warehouse. The bytes never pass through anything you have to run or secure — Zeotap mints a short-lived, single-file upload link and the browser uploads directly to it.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| File | Upload | Yes | The file to load: CSV, JSON (newline-delimited), Parquet, or Avro (up to 100 MB). |
| Target Warehouse | Select | Yes | The warehouse the table is created in. |
| Destination Table | Text | Yes | The table this loader writes to inside the target schema. Later uploads append to this table. |
There is no bucket, prefix, or credential to configure — the storage is managed by Zeotap.
Columns
Every column in your file becomes a column in the table, loaded as text. Each row also carries:
_source_file— the uploaded file the row came from, so you can tell successive uploads apart._ss_loaded_at/_ss_run_id— Zeotap’s load timestamp and run id.
Parquet and Avro files carry their own types, which are preserved. CSV and JSON columns load as text.
Uploading more files later
A File Upload loader is not a one-shot. To add more data, open the loader and choose Replace file & re-run: upload another file and its rows are appended to the same table (nothing is removed). The _source_file column distinguishes which upload each row came from.
New columns in later files
If a later file has a column the table does not yet have, Zeotap adds the column to the table rather than failing the load. Existing rows get NULL for the new column; the rows from the file that introduced it get its values. This lets a dataset grow new fields over time without re-creating the table.
How It Works
Zeotap parses the uploaded file (respecting a header row for CSV), batches the rows, and loads them into <target schema>.<destination table> in your warehouse. Loads run through the same pipeline as every other loader — batching, retries, and the platform load-tracking columns.
Limits
- Maximum file size: 100 MB per upload. Split larger datasets into multiple uploads (they append to the same table) or use the S3 / Google Cloud Storage loader.
- Supported formats: CSV, JSON (newline-delimited), Parquet, Avro. Gzipped files (
.csv.gz,.json.gz) are decompressed automatically.
Troubleshooting
- “Unsupported file type” — upload a
.csv,.json/.jsonl/.ndjson,.parquet, or.avrofile. Other formats (Excel, etc.) are not supported; export to CSV first. - “File is too large” — the upload is over the 100 MB limit. Split it into multiple files and upload them to the same loader, or use the S3 / GCS loader for large or recurring datasets.
- The upload fails in the browser — the signed upload link is short-lived; if the upload took too long, try again. Very large files over a slow connection are the usual cause.
- A new column did not appear — new columns are added only when a later file actually contains that column with a value in at least one row. Check the file’s header and that the column is populated.
- Rows have the wrong columns — CSV loading uses the first row as the header. Make sure the file has a header row and that every data row has the same number of fields.