parquet_open_writer Interface

interface
public module subroutine parquet_open_writer(writer, filename, schema, write_maml, qc, compression, compression_level, chunk_size, use_threads, overwrite)

Arguments

Type IntentOptional Attributes Name
type(parquet_writer), intent(out) :: writer

writer to open.

character(len=*), intent(in) :: filename

output .parquet path.

type(parquet_schema), intent(in), optional :: schema

schema to enforce; schema-less writer if absent.

logical, intent(in), optional :: write_maml

also save a sidecar .maml next to filename (needs schema).

logical, intent(in), optional :: qc

enable qc: min/max/miss WARNING checks on write; defaults to present(schema) (on whenever a schema is given), pass .false. to opt out; no-op without a schema.

character(len=*), intent(in), optional :: compression

Arrow compression codec name (e.g. "snappy", "zstd").

integer, intent(in), optional :: compression_level

codec-specific compression level.

integer, intent(in), optional :: chunk_size

Parquet row-group size.

logical, intent(in), optional :: use_threads

use Arrow's multi-threaded writer.

logical, intent(in), optional :: overwrite

allow truncating an existing file at filename; default .true.

Description

Creates filename and opens writer for writing. Without schema, the writer is schema-less: columns are inferred from the first parquet_write_column call for each name, with no field metadata/QC. With schema, every column/type/QC rule is fixed up front and enforced on every write. By default (overwrite=.true.) an existing file at filename is silently truncated; pass overwrite=.false. to instead fail immediately with error stop if filename already exists, rather than clobbering it.