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.
Import CSV files into Arc via the REST API. Arc parses the file in-process, infers column types, partitions data by hour, and writes optimized Parquet files to storage through the same streaming ingestion pipeline used for Line Protocol writes.
The measurement parameter is required -- unlike Line Protocol import where measurements are embedded in the data.
The time column is renamed to time in the output Parquet files.
Data is automatically partitioned by hour for optimal query performance.
Maximum file size: 500 MB.
RBAC: write permissions are checked for the target measurement.
Column types are inferred per column from the values: a column is BIGINT if every value parses as an integer, otherwise DOUBLE if every value parses as a number, otherwise BOOLEAN if every value is true/false, otherwise VARCHAR. Empty cells in a numeric/boolean column are stored as null.
The time column accepts integer epochs, fractional epochs (e.g. 1609459200.123, sub-second precision preserved), or timestamp strings (RFC 3339, YYYY-MM-DD[ T]HH:MM:SS[.fff], or YYYY-MM-DD). With time_format empty, the unit of a numeric epoch is auto-detected by magnitude (s/ms/µs/ns).
Missing database/measurement/file; empty file or no data rows; time_column not found; empty, blank, or duplicate column names; or a time_column rename that collides with an existing time column
403
Insufficient write permissions
413
File exceeds 500 MB size limit
422
Malformed CSV rows, or an unparseable value in the time column