pub struct StructureColumnSummary {
pub name: String,
pub data_type: DataType,
pub total_count: Option<usize>,
pub null_count: Option<usize>,
pub null_ratio: Option<f64>,
pub unique_count: Option<usize>,
pub uniqueness_ratio: Option<f64>,
pub distinct_count_approximate: Option<bool>,
pub provenance: String,
}Expand description
Sample-derived or metadata-derived structural summary for one column.
The counters and the type answer to different sources, and provenance
names the one that decided the type. A counter is present only when it
describes the whole source: for CSV/JSON/JSONL that is the bounded
structural sample, disclosed by rows_sampled and truncated; for Parquet
the counts come from the file footer and cover every row, so they hold even
when the type sample was truncated. None keeps its usual meaning — not
analyzed — and is what a counter reports rather than a partial number
(#700).
Fields§
§name: String§data_type: DataType§total_count: Option<usize>§null_count: Option<usize>§null_ratio: Option<f64>§unique_count: Option<usize>§uniqueness_ratio: Option<f64>§distinct_count_approximate: Option<bool>§provenance: StringWhich source governs this column’s type: "metadata" when the declared
schema decided it, "sample" when only the column’s values can. It
names the source, not the read — a "sample" column is one the metadata
could not type, whether or not the caller’s row budget allowed any row
to be read for it. rows_sampled and truncated report the read.
CSV/JSON/JSONL are always "sample"; a Parquet file carries both, since
only its text columns need values to be typed (#693).