pub struct Statistics {
pub num_rows: Precision<usize>,
pub total_byte_size: Precision<usize>,
pub column_statistics: Vec<ColumnStatistics>,
}
Expand description
Statistics for a relation Fields are optional and can be inexact because the sources sometimes provide approximate estimates for performance reasons and the transformations output are not always predictable.
Fields§
§num_rows: Precision<usize>
The number of table rows.
total_byte_size: Precision<usize>
Total bytes of the table rows.
column_statistics: Vec<ColumnStatistics>
Statistics on a column level. It contains a ColumnStatistics
for
each field in the schema of the table to which the Statistics
refer.
Implementations§
Source§impl Statistics
impl Statistics
Sourcepub fn new_unknown(schema: &Schema) -> Statistics
pub fn new_unknown(schema: &Schema) -> Statistics
Returns a Statistics
instance for the given schema by assigning
unknown statistics to each column in the schema.
Sourcepub fn unknown_column(schema: &Schema) -> Vec<ColumnStatistics>
pub fn unknown_column(schema: &Schema) -> Vec<ColumnStatistics>
Returns an unbounded ColumnStatistics
for each field in the schema.
Sourcepub fn to_inexact(self) -> Statistics
pub fn to_inexact(self) -> Statistics
If the exactness of a Statistics
instance is lost, this function relaxes
the exactness of all information by converting them Precision::Inexact
.
Sourcepub fn project(self, projection: Option<&Vec<usize>>) -> Statistics
pub fn project(self, projection: Option<&Vec<usize>>) -> Statistics
Project the statistics to the given column indices.
For example, if we had statistics for columns {"a", "b", "c"}
,
projecting to vec![2, 1]
would return statistics for columns {"c", "b"}
.
Sourcepub fn with_fetch(
self,
schema: Arc<Schema>,
fetch: Option<usize>,
skip: usize,
n_partitions: usize,
) -> Result<Statistics, DataFusionError>
pub fn with_fetch( self, schema: Arc<Schema>, fetch: Option<usize>, skip: usize, n_partitions: usize, ) -> Result<Statistics, DataFusionError>
Calculates the statistics after fetch
and skip
operations apply.
Here, self
denotes per-partition statistics. Use the n_partitions
parameter to compute global statistics in a multi-partition setting.
Trait Implementations§
Source§impl Clone for Statistics
impl Clone for Statistics
Source§fn clone(&self) -> Statistics
fn clone(&self) -> Statistics
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for Statistics
impl Debug for Statistics
Source§impl Display for Statistics
impl Display for Statistics
Source§impl PartialEq for Statistics
impl PartialEq for Statistics
impl Eq for Statistics
impl StructuralPartialEq for Statistics
Auto Trait Implementations§
impl Freeze for Statistics
impl !RefUnwindSafe for Statistics
impl Send for Statistics
impl Sync for Statistics
impl Unpin for Statistics
impl !UnwindSafe for Statistics
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.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