iceberg-cpp
Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
iceberg::parquet::ParquetMetrics Class Reference

Utility class for computing metrics from Parquet files. More...

#include <parquet_metrics_internal.h>

Static Public Member Functions

static Result< MetricsGetMetrics (const Schema &schema, const ::parquet::SchemaDescriptor &parquet_schema, const MetricsConfig &metrics_config, const ::parquet::FileMetaData &metadata, const std::unordered_map< int32_t, FieldMetrics > &field_metrics={})
 Compute file-level metrics from Parquet file metadata.
 

Detailed Description

Utility class for computing metrics from Parquet files.

Member Function Documentation

◆ GetMetrics()

Result< Metrics > iceberg::parquet::ParquetMetrics::GetMetrics ( const Schema schema,
const ::parquet::SchemaDescriptor &  parquet_schema,
const MetricsConfig metrics_config,
const ::parquet::FileMetaData &  metadata,
const std::unordered_map< int32_t, FieldMetrics > &  field_metrics = {} 
)
static

Compute file-level metrics from Parquet file metadata.

This function extracts metrics including row count, column sizes, value counts, null value counts, and lower/upper bounds from Parquet file metadata. NaN value counts are not currently collected from Parquet metadata. The metrics are computed according to the provided MetricsConfig, which determines which columns to collect metrics for and at what granularity (counts only, truncated bounds, or full bounds).

Parameters
schemaThe Iceberg schema for the table.
parquet_schemaThe Parquet schema descriptor.
metrics_configThe configuration specifying how to collect metrics.
metadataThe Parquet file metadata containing row group statistics.
field_metricsOptional per-field metrics computed during write. If provided, these take precedence over footer statistics.
Returns
Result containing the computed Metrics or an error.

The documentation for this class was generated from the following files: