influxdb3 import upload

The influxdb3 import upload command uploads one or more Parquet files into an existing InfluxDB 3 Enterprise database and table. Each file becomes a separate import job. Imported data is written to your object storage and becomes queryable after the compactor processes it.

This command needs the write action on the target database, for example, db:DATABASE_NAME:write. For files that already sit in InfluxDB 3 Enterprise’s own object store, or in an S3 bucket that the server can reach directly, use influxdb3 import from-object-store instead: the server reads the files itself, so file bytes never stream through the influxdb3 client.

Usage

influxdb3 import upload [OPTIONS] --database <DATABASE> --table <TABLE> <FILE>

Arguments

ArgumentDescription
<FILE>Required. Path to a Parquet file or a directory, or an object store URL (s3://bucket/prefix, gs://bucket/prefix, az://container/prefix, file:///path). If a directory or a URL prefix, all *.parquet files are processed recursively and one import job is created per file. URL sources read credentials from the environment; use --source-opt to set or override store options.

Options

OptionDescriptionDefaultEnvironment variable
-H--host <HOST_URL>Host URL of the InfluxDB 3 Enterprise serverhttp://127.0.0.1:8181INFLUXDB3_HOST_URL
--token <AUTH_TOKEN>Authentication tokenINFLUXDB3_AUTH_TOKEN
-d--database <DATABASE>Target database name
-t--table <TABLE>Target table name
--column <COLUMN>Map a Parquet column to an InfluxDB type: <column>=<type>. Supported types: i64, u64, f64, bool, string, time, tag. Can be specified multiple times. Unmapped columns default to field values.
--source-opt <KEY=VALUE>Object store option for a URL source, for example aws_region=us-west-2. Overrides environment variables. Can be specified multiple times. Ignored for local paths.
--concurrency <CONCURRENCY>Maximum number of files to upload concurrently8
--tls-ca <CA_CERT>Path to a custom TLS certificate authorityINFLUXDB3_TLS_CA
--tls-no-verifyDisable TLS certificate verification (not recommended in production)INFLUXDB3_TLS_NO_VERIFY
-h--helpPrint help information
--help-allPrint detailed help information

Column type mapping

The --column option maps Parquet columns to InfluxDB data types. Specify the option multiple times to map multiple columns. Unmapped columns default to field values.

TypeDescription
i64Signed 64-bit integer field
u64Unsigned 64-bit integer field
f6464-bit float field
boolBoolean field
stringString field
timeTimestamp column
tagTag column

Examples

In the examples below, replace the following:

  • DATABASE_NAME: the name of the target database
  • TABLE_NAME: the name of the target table
  • AUTH_TOKEN: your authentication token

Upload a single Parquet file

influxdb3 import upload \
  --host http://localhost:8181 \
  --token 
AUTH_TOKEN
\
--database
DATABASE_NAME
\
--table
TABLE_NAME
\
/path/to/data.parquet

Upload all Parquet files in a directory

influxdb3 import upload \
  --host http://localhost:8181 \
  --token 
AUTH_TOKEN
\
--database
DATABASE_NAME
\
--table
TABLE_NAME
\
/path/to/parquet-directory/

Upload with column type mapping

influxdb3 import upload \
  --host http://localhost:8181 \
  --token 
AUTH_TOKEN
\
--database
DATABASE_NAME
\
--table
TABLE_NAME
\
--column timestamp=time \ --column host=tag \ --column cpu_usage=f64 \ /path/to/metrics.parquet

Upload Parquet files from an S3 bucket

Pass an s3:// URL as the source to upload files that your machine can reach directly. File bytes still stream through the influxdb3 client. For files that already sit in object storage InfluxDB 3 Enterprise can reach itself, use influxdb3 import from-object-store instead.

influxdb3 import upload \
  --host http://localhost:8181 \
  --token 
AUTH_TOKEN
\
--database
DATABASE_NAME
\
--table
TABLE_NAME
\
--source-opt aws_region=us-west-2 \ s3://my-bucket/parquet-exports/

Was this page helpful?

Thank you for your feedback!