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).
Trait Implementations§
Source§impl Clone for StructureColumnSummary
impl Clone for StructureColumnSummary
Source§fn clone(&self) -> StructureColumnSummary
fn clone(&self) -> StructureColumnSummary
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StructureColumnSummary
impl Debug for StructureColumnSummary
Source§impl<'de> Deserialize<'de> for StructureColumnSummary
impl<'de> Deserialize<'de> for StructureColumnSummary
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<StructureColumnSummary, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<StructureColumnSummary, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for StructureColumnSummary
impl PartialEq for StructureColumnSummary
Source§impl Serialize for StructureColumnSummary
impl Serialize for StructureColumnSummary
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for StructureColumnSummary
Auto Trait Implementations§
impl Freeze for StructureColumnSummary
impl RefUnwindSafe for StructureColumnSummary
impl Send for StructureColumnSummary
impl Sync for StructureColumnSummary
impl Unpin for StructureColumnSummary
impl UnsafeUnpin for StructureColumnSummary
impl UnwindSafe for StructureColumnSummary
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more