Flow PHP

DataPageHeaderV2

Alternate page format allowing reading levels without decompressing the data Repetition and definition levels are uncompressed The remaining section containing the data is compressed if is_compressed is true

Implementation note - this header is not necessarily a strict improvement over DataPageHeader (in particular the original header might provide better compression in some scenarios). Page indexes require pages to start and end at row boundaries, regardless of which page header is used.

Properties

$_TSPEC  : mixed
$definition_levels_byte_length  : int
Length of the definition levels
$encoding  : int
Encoding used for data in this page *
$is_compressed  : bool
Whether the values are compressed.
$isValidate  : mixed
$num_nulls  : int
Number of NULL values, in this data page.
$num_rows  : int
Number of rows in this data page. Every page must begin at a row boundary (repetition_level = 0): rows must **not** be split across page boundaries when using V2 data pages.
$num_values  : int
Number of values, including NULLs, in this data page. *
$repetition_levels_byte_length  : int
Length of the repetition levels
$statistics  : null|Statistics
Optional statistics for the data in this page *

Methods

__construct()  : mixed
getName()  : mixed
read()  : mixed
write()  : mixed

Properties

$_TSPEC

public static mixed $_TSPEC = array(1 => array('var' => 'num_values', 'isRequired' => true, 'type' => \Thrift\Type\TType::I32), 2 => array('var' => 'num_nulls', 'isRequired' => true, 'type' => \Thrift\Type\TType::I32), 3 => array('var' => 'num_rows', 'isRequired' => true, 'type' => \Thrift\Type\TType::I32), 4 => array('var' => 'encoding', 'isRequired' => true, 'type' => \Thrift\Type\TType::I32, 'class' => '\Flow\Parquet\ThriftModel\Encoding'), 5 => array('var' => 'definition_levels_byte_length', 'isRequired' => true, 'type' => \Thrift\Type\TType::I32), 6 => array('var' => 'repetition_levels_byte_length', 'isRequired' => true, 'type' => \Thrift\Type\TType::I32), 7 => array('var' => 'is_compressed', 'isRequired' => false, 'type' => \Thrift\Type\TType::BOOL), 8 => array('var' => 'statistics', 'isRequired' => false, 'type' => \Thrift\Type\TType::STRUCT, 'class' => '\Flow\Parquet\ThriftModel\Statistics'))

$definition_levels_byte_length

Length of the definition levels

public int $definition_levels_byte_length = null

$encoding

Encoding used for data in this page *

public int $encoding = null

$is_compressed

Whether the values are compressed.

public bool $is_compressed = true

Which means the section of the page between definition_levels_byte_length + repetition_levels_byte_length and compressed_page_size (included) is compressed with the compression_codec. If missing it is considered compressed

$num_nulls

Number of NULL values, in this data page.

public int $num_nulls = null

Number of non-null = num_values - num_nulls which is also the number of values in the data section *

$num_rows

Number of rows in this data page. Every page must begin at a row boundary (repetition_level = 0): rows must **not** be split across page boundaries when using V2 data pages.

public int $num_rows = null

$num_values

Number of values, including NULLs, in this data page. *

public int $num_values = null

$repetition_levels_byte_length

Length of the repetition levels

public int $repetition_levels_byte_length = null

Methods

__construct()

public __construct([mixed $vals = null ]) : mixed
Parameters
$vals : mixed = null

write()

public write(mixed $output) : mixed
Parameters
$output : mixed
On this page

Search results