Struct parquet::format::FileMetaData
source · pub struct FileMetaData {
pub version: i32,
pub schema: Vec<SchemaElement>,
pub num_rows: i64,
pub row_groups: Vec<RowGroup>,
pub key_value_metadata: Option<Vec<KeyValue>>,
pub created_by: Option<String>,
pub column_orders: Option<Vec<ColumnOrder>>,
pub encryption_algorithm: Option<EncryptionAlgorithm>,
pub footer_signing_key_metadata: Option<Vec<u8>>,
}
Expand description
Description for file metadata
Fields§
§version: i32
Version of this file *
schema: Vec<SchemaElement>
Parquet schema for this file. This schema contains metadata for all the columns. The schema is represented as a tree with a single root. The nodes of the tree are flattened to a list by doing a depth-first traversal. The column metadata contains the path in the schema for that column which can be used to map columns to nodes in the schema. The first element is the root *
num_rows: i64
Number of rows in this file *
row_groups: Vec<RowGroup>
Row groups in this file *
key_value_metadata: Option<Vec<KeyValue>>
Optional key/value metadata *
created_by: Option<String>
String for application that wrote this file. This should be in the format
<Application>
version <App Version>
(build <App Build Hash>
).
e.g. impala version 1.0 (build 6cf94d29b2b7115df4de2c06e2ab4326d721eb55)
column_orders: Option<Vec<ColumnOrder>>
Sort order used for the min_value and max_value fields in the Statistics objects and the min_values and max_values fields in the ColumnIndex objects of each column in this file. Sort orders are listed in the order matching the columns in the schema. The indexes are not necessary the same though, because only leaf nodes of the schema are represented in the list of sort orders.
Without column_orders, the meaning of the min_value and max_value fields in the Statistics object and the ColumnIndex object is undefined. To ensure well-defined behaviour, if these fields are written to a Parquet file, column_orders must be written as well.
The obsolete min and max fields in the Statistics object are always sorted by signed comparison regardless of column_orders.
encryption_algorithm: Option<EncryptionAlgorithm>
Encryption algorithm. This field is set only in encrypted files with plaintext footer. Files with encrypted footer store algorithm id in FileCryptoMetaData structure.
Retrieval metadata of key used for signing the footer. Used only in encrypted files with plaintext footer.
Implementations§
source§impl FileMetaData
impl FileMetaData
pub fn new<F5, F6, F7, F8, F9>( version: i32, schema: Vec<SchemaElement>, num_rows: i64, row_groups: Vec<RowGroup>, key_value_metadata: F5, created_by: F6, column_orders: F7, encryption_algorithm: F8, footer_signing_key_metadata: F9, ) -> FileMetaData
Trait Implementations§
source§impl Clone for FileMetaData
impl Clone for FileMetaData
source§fn clone(&self) -> FileMetaData
fn clone(&self) -> FileMetaData
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for FileMetaData
impl Debug for FileMetaData
source§impl Hash for FileMetaData
impl Hash for FileMetaData
source§impl Ord for FileMetaData
impl Ord for FileMetaData
source§fn cmp(&self, other: &FileMetaData) -> Ordering
fn cmp(&self, other: &FileMetaData) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for FileMetaData
impl PartialEq for FileMetaData
source§impl PartialOrd for FileMetaData
impl PartialOrd for FileMetaData
source§impl TSerializable for FileMetaData
impl TSerializable for FileMetaData
fn read_from_in_protocol<T: TInputProtocol>( i_prot: &mut T, ) -> Result<FileMetaData>
fn write_to_out_protocol<T: TOutputProtocol>( &self, o_prot: &mut T, ) -> Result<()>
impl Eq for FileMetaData
impl StructuralPartialEq for FileMetaData
Auto Trait Implementations§
impl Freeze for FileMetaData
impl RefUnwindSafe for FileMetaData
impl Send for FileMetaData
impl Sync for FileMetaData
impl Unpin for FileMetaData
impl UnwindSafe for FileMetaData
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)