parquet_read_column_chunk Interface

public interface parquet_read_column_chunk

Reads one row group's worth of one column, named name, from an open parquet_reader (reader) into values -- the row-group-chunked counterpart to parquet_read_column, for a large column you read one row group at a time instead of materializing the whole column. row_group (1-based) selects which row group; reads are stateless/random-access (unlike the write side's parquet_new_row_group/parquet_finish_row_group pairing, there is no "currently open" row group to track -- call with any row_group, in any order, as many times as you like). Use parquet_get_num_row_groups to learn how many row groups a file has, and parquet_get_chunk_size(reader, ..., row_group=) to learn a specific row group's own row count before allocating values. Dispatched by values' actual/declared type/kind and rank (scalar values(:) or vector values(:,:)) exactly like parquet_read_column, and separately by row_group's own kind (integer(int32) or integer(int64) -- the latter needed only to address a row group beyond huge(1_int32) in a file that large). null_value (optional) fills missing entries; is_valid (optional) reports which elements were actually present.

Two restrictions not shared with parquet_read_column: disallowed (error stop) on a reader with an active sort (a permutation destroys row-group locality, so there is no coherent "row group N of the sorted output" to serve -- see check_reader_no_sort; a filter= or sample_fraction= mask only ever REMOVES rows, so a chunked read works under one and hands back that row group's surviving rows); and, when the reader was opened with qc=.true., every chunk read runs the usual qc: min/max/miss checks scoped to just that one row group's own data (not the whole column) -- a hard-mode (qc_soft=.false.) violation error stops naming the offending row group; a soft-mode (qc_soft=.true.) violation warns at most once per column, same throttling as every other read path. See "Streaming/chunked reads" in doc/pages/io/reading.md.

A scalar "string" column can also be read into a type(parquet_string_column) holding just row group row_group's rows -- values is cleared then filled, same no-null_value/ no-is_valid convention as parquet_read_column's own parquet_string_column specific above.


Module Procedures

private interface parquet_read_int32_column_chunk_rg32()

Arguments

None

private interface parquet_read_int32_column_chunk_rg64()

Arguments

None

private interface parquet_read_int32_array_column_chunk_rg32()

Arguments

None

private interface parquet_read_int32_array_column_chunk_rg64()

Arguments

None

private interface parquet_read_int64_column_chunk_rg32()

Arguments

None

private interface parquet_read_int64_column_chunk_rg64()

Arguments

None

private interface parquet_read_int64_array_column_chunk_rg32()

Arguments

None

private interface parquet_read_int64_array_column_chunk_rg64()

Arguments

None

private interface parquet_read_float32_column_chunk_rg32()

Arguments

None

private interface parquet_read_float32_column_chunk_rg64()

Arguments

None

private interface parquet_read_float32_array_column_chunk_rg32()

Arguments

None

private interface parquet_read_float32_array_column_chunk_rg64()

Arguments

None

private interface parquet_read_float64_column_chunk_rg32()

Arguments

None

private interface parquet_read_float64_column_chunk_rg64()

Arguments

None

private interface parquet_read_float64_array_column_chunk_rg32()

Arguments

None

private interface parquet_read_float64_array_column_chunk_rg64()

Arguments

None

private interface parquet_read_logical_column_chunk_rg32()

Arguments

None

private interface parquet_read_logical_column_chunk_rg64()

Arguments

None

private interface parquet_read_logical_array_column_chunk_rg32()

Arguments

None

private interface parquet_read_logical_array_column_chunk_rg64()

Arguments

None

private interface parquet_read_string_column_chunk_rg32()

Arguments

None

private interface parquet_read_string_column_chunk_rg64()

Arguments

None

private interface parquet_read_string_array_column_chunk_rg32()

Arguments

None

private interface parquet_read_string_array_column_chunk_rg64()

Arguments

None

private interface parquet_read_string_column_chunk_compact_rg32()

Arguments

None

private interface parquet_read_string_column_chunk_compact_rg64()

Arguments

None

private interface parquet_read_date_column_chunk_rg32()

Arguments

None

private interface parquet_read_date_column_chunk_rg64()

Arguments

None

private interface parquet_read_date_array_column_chunk_rg32()

Arguments

None

private interface parquet_read_date_array_column_chunk_rg64()

Arguments

None

private interface parquet_read_time_column_chunk_rg32()

Arguments

None

private interface parquet_read_time_column_chunk_rg64()

Arguments

None

private interface parquet_read_time_array_column_chunk_rg32()

Arguments

None

private interface parquet_read_time_array_column_chunk_rg64()

Arguments

None

private interface parquet_read_timestamp_column_chunk_rg32()

Arguments

None

private interface parquet_read_timestamp_column_chunk_rg64()

Arguments

None

private interface parquet_read_timestamp_array_column_chunk_rg32()

Arguments

None

private interface parquet_read_timestamp_array_column_chunk_rg64()

Arguments

None