[−][src]Struct parquet_format::PageHeader
Fields
type_: PageType
the type of the page: indicates which of the *_header fields is set *
uncompressed_page_size: i32
Uncompressed page size in bytes (not including this header) *
compressed_page_size: i32
Compressed (and potentially encrypted) page size in bytes, not including this header *
crc: Option<i32>
The 32bit CRC for the page, to be be calculated as follows:
- Using the standard CRC32 algorithm
- On the data only, i.e. this header should not be included. 'Data' hereby refers to the concatenation of the repetition levels, the definition levels and the column value, in this exact order.
- On the encoded versions of the repetition levels, definition levels and column values
- On the compressed versions of the repetition levels, definition levels
and column values where possible;
- For v1 data pages, the repetition levels, definition levels and column values are always compressed together. If a compression scheme is specified, the CRC shall be calculated on the compressed version of this concatenation. If no compression scheme is specified, the CRC shall be calculated on the uncompressed version of this concatenation.
- For v2 data pages, the repetition levels and definition levels are handled separately from the data and are never compressed (only encoded). If a compression scheme is specified, the CRC shall be calculated on the concatenation of the uncompressed repetition levels, uncompressed definition levels and the compressed column values. If no compression scheme is specified, the CRC shall be calculated on the uncompressed concatenation.
- In encrypted columns, CRC is calculated after page encryption; the encryption itself is performed after page compression (if compressed) If enabled, this allows for disabling checksumming in HDFS if only a few pages need to be read.
data_page_header: Option<DataPageHeader>
index_page_header: Option<IndexPageHeader>
dictionary_page_header: Option<DictionaryPageHeader>
data_page_header_v2: Option<DataPageHeaderV2>
Implementations
impl PageHeader
[src]
pub fn new<F4, F5, F6, F7, F8>(
type_: PageType,
uncompressed_page_size: i32,
compressed_page_size: i32,
crc: F4,
data_page_header: F5,
index_page_header: F6,
dictionary_page_header: F7,
data_page_header_v2: F8
) -> PageHeader where
F4: Into<Option<i32>>,
F5: Into<Option<DataPageHeader>>,
F6: Into<Option<IndexPageHeader>>,
F7: Into<Option<DictionaryPageHeader>>,
F8: Into<Option<DataPageHeaderV2>>,
[src]
type_: PageType,
uncompressed_page_size: i32,
compressed_page_size: i32,
crc: F4,
data_page_header: F5,
index_page_header: F6,
dictionary_page_header: F7,
data_page_header_v2: F8
) -> PageHeader where
F4: Into<Option<i32>>,
F5: Into<Option<DataPageHeader>>,
F6: Into<Option<IndexPageHeader>>,
F7: Into<Option<DictionaryPageHeader>>,
F8: Into<Option<DataPageHeaderV2>>,
pub fn read_from_in_protocol(
i_prot: &mut dyn TInputProtocol
) -> Result<PageHeader>
[src]
i_prot: &mut dyn TInputProtocol
) -> Result<PageHeader>
pub fn write_to_out_protocol(
&self,
o_prot: &mut dyn TOutputProtocol
) -> Result<()>
[src]
&self,
o_prot: &mut dyn TOutputProtocol
) -> Result<()>
Trait Implementations
impl Clone for PageHeader
[src]
pub fn clone(&self) -> PageHeader
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for PageHeader
[src]
impl Eq for PageHeader
[src]
impl Hash for PageHeader
[src]
pub fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for PageHeader
[src]
pub fn cmp(&self, other: &PageHeader) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<PageHeader> for PageHeader
[src]
pub fn eq(&self, other: &PageHeader) -> bool
[src]
pub fn ne(&self, other: &PageHeader) -> bool
[src]
impl PartialOrd<PageHeader> for PageHeader
[src]
pub fn partial_cmp(&self, other: &PageHeader) -> Option<Ordering>
[src]
pub fn lt(&self, other: &PageHeader) -> bool
[src]
pub fn le(&self, other: &PageHeader) -> bool
[src]
pub fn gt(&self, other: &PageHeader) -> bool
[src]
pub fn ge(&self, other: &PageHeader) -> bool
[src]
impl StructuralEq for PageHeader
[src]
impl StructuralPartialEq for PageHeader
[src]
Auto Trait Implementations
impl RefUnwindSafe for PageHeader
[src]
impl Send for PageHeader
[src]
impl Sync for PageHeader
[src]
impl Unpin for PageHeader
[src]
impl UnwindSafe for PageHeader
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,