Parquet Import
Bulk-load existing Parquet files through POST /api/v1/import/parquet, preserving column types, remapping the time column, and repartitioning into Arc's layout.
Import existing Parquet files directly into Arc. Useful for data lake integration, analytics pipeline output, or migrating from other columnar stores.
Endpoint
POST /api/v1/import/parquetHeaders
| Header | Required | Default | Description |
|---|---|---|---|
Authorization | Yes | - | Bearer $ARC_TOKEN |
X-Arc-Database | Yes | - | Target database name (or use db query param) |
Query parameters
| Parameter | Required | Default | Description |
|---|---|---|---|
measurement | Yes | - | Target measurement name |
time_column | No | time | Name of the timestamp column in the Parquet file |
Example
curl -X POST "http://localhost:8000/api/v1/import/parquet?measurement=metrics" \
-H "Authorization: Bearer $ARC_TOKEN" \
-H "X-Arc-Database: production" \
-F "file=@data_export.parquet"Response
{
"status": "ok",
"result": {
"database": "production",
"measurement": "metrics",
"rows_imported": 1200000,
"partitions_created": 8,
"time_range_min": "2026-01-01T00:00:00Z",
"time_range_max": "2026-01-01T07:45:00Z",
"columns": ["time", "host", "region", "cpu_usage", "mem_usage"],
"duration_ms": 890
}
}Notes
- The Parquet file must contain a timestamp column (default name:
time). Use thetime_columnparameter if your column has a different name. The time column may be an ArrowTIMESTAMP(any unit), an integer epoch column (any width), a floating-point epoch column (usetime_format, or auto-detect by magnitude), or a timestamp string column. - Arc reads the Parquet file in-process via Apache Arrow and repartitions the data into Arc's hourly partition layout regardless of the source file's structure. Supported column types: integer (all widths, signed and unsigned), floating point, boolean, string, binary/byte-array, decimal (imported as
DOUBLE), and timestamp. DECIMALcolumns are imported asDOUBLE. If you need exact decimal precision, use Line Protocol ingestion with a configured decimal column.- Maximum file size: 500 MB.
- RBAC: write permissions are checked for the target measurement.
Error responses
| Status | Description |
|---|---|
400 | Missing database/measurement/file; empty file or no rows; time_column not found; empty or duplicate column names; a time_column rename that collides with an existing time column; or a NaN/Inf value in a floating-point time column |
403 | Insufficient write permissions |
413 | File exceeds 500 MB size limit |
422 | Unreadable Parquet file, or an unsupported column type |
500 | Import execution error |
CSV Import
Bulk-load CSV files through POST /api/v1/import/csv: map the timestamp column, let Arc infer column types, and partition rows into hourly Parquet files.
Line Protocol Bulk Import
Bulk-load InfluxDB Line Protocol files through POST /api/v1/import/lp, including gzip-compressed .lp and .txt files, with optional measurement filtering.