ExArrow.Parquet.Metadata (ex_arrow v0.8.0)

View Source

Parquet footer metadata: row groups, per-column statistics, and key-value metadata — without decoding row data.

Example

{:ok, meta} = ExArrow.Parquet.Metadata.from_file("/data/events.parquet")
meta.num_row_groups
Enum.map(meta.row_groups, & &1.num_rows)

Summary

Functions

Read Parquet footer metadata from an in-memory binary.

Read Parquet footer metadata from a file path.

Types

column_stats()

@type column_stats() :: %{
  path: String.t(),
  compression: String.t(),
  encodings: [String.t()],
  num_values: integer(),
  min: String.t() | nil,
  max: String.t() | nil
}

row_group()

@type row_group() :: %{
  index: non_neg_integer(),
  num_rows: integer(),
  total_byte_size: integer(),
  columns: [column_stats()]
}

t()

@type t() :: %{
  num_rows: integer(),
  num_row_groups: non_neg_integer(),
  created_by: String.t(),
  row_groups: [row_group()],
  key_value_metadata: [{String.t(), String.t()}]
}

Functions

from_binary(binary)

@spec from_binary(binary()) :: {:ok, t()} | {:error, String.t()}

Read Parquet footer metadata from an in-memory binary.

from_file(path)

@spec from_file(Path.t()) :: {:ok, t()} | {:error, String.t()}

Read Parquet footer metadata from a file path.