Struct parquet_format_async_temp::PageHeader [−][src]
pub struct PageHeader {
pub type_: PageType,
pub uncompressed_page_size: i32,
pub compressed_page_size: i32,
pub crc: Option<i32>,
pub data_page_header: Option<DataPageHeader>,
pub index_page_header: Option<IndexPageHeader>,
pub dictionary_page_header: Option<DictionaryPageHeader>,
pub data_page_header_v2: Option<DataPageHeaderV2>,
}
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
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>>,
pub async fn stream_from_in_protocol(
i_prot: &mut dyn TInputStreamProtocol
) -> Result<PageHeader>
pub async fn write_to_out_stream_protocol(
&self,
o_prot: &mut dyn TOutputStreamProtocol
) -> Result<usize>
Trait Implementations
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for PageHeader
impl Send for PageHeader
impl Sync for PageHeader
impl Unpin for PageHeader
impl UnwindSafe for PageHeader
Blanket Implementations
Mutably borrows from an owned value. Read more