Package org.apache.iceberg
Class PartitionStatsHandler
java.lang.Object
org.apache.iceberg.PartitionStatsHandler
Computes, writes and reads the
PartitionStatisticsFile
. Uses generic readers and writers
to support writing and reading of the stats in table default format.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Types.NestedField
static final Types.NestedField
static final Types.NestedField
static final Types.NestedField
static final Types.NestedField
static final Types.NestedField
static final Types.NestedField
static final int
static final String
static final Types.NestedField
static final Types.NestedField
static final Types.NestedField
static final Types.NestedField
static final Types.NestedField
-
Method Summary
Modifier and TypeMethodDescriptionstatic PartitionStatisticsFile
computeAndWriteStatsFile
(Table table) Computes the stats incrementally after the snapshot that has partition stats file till the current snapshot and writes the combined result into aPartitionStatisticsFile
after merging the stats for a given table's current snapshot.static PartitionStatisticsFile
computeAndWriteStatsFile
(Table table, long snapshotId) Computes the stats incrementally after the snapshot that has partition stats file till the given snapshot and writes the combined result into aPartitionStatisticsFile
after merging the stats for a given snapshot.static CloseableIterable
<PartitionStats> readPartitionStatsFile
(Schema schema, InputFile inputFile) Reads partition statistics from the specifiedInputFile
using given schema.static Schema
schema
(Types.StructType unifiedPartitionType) Deprecated.since 1.10.0, will be removed in 1.11.0.static Schema
schema
(Types.StructType unifiedPartitionType, int formatVersion) Generates the partition stats file schema for a given format version based on a combined partition type which considers all specs in a table.
-
Field Details
-
PARTITION_FIELD_ID
public static final int PARTITION_FIELD_ID- See Also:
-
PARTITION_FIELD_NAME
- See Also:
-
SPEC_ID
-
DATA_RECORD_COUNT
-
DATA_FILE_COUNT
-
TOTAL_DATA_FILE_SIZE_IN_BYTES
-
POSITION_DELETE_RECORD_COUNT
-
POSITION_DELETE_FILE_COUNT
-
EQUALITY_DELETE_RECORD_COUNT
-
EQUALITY_DELETE_FILE_COUNT
-
TOTAL_RECORD_COUNT
-
LAST_UPDATED_AT
-
LAST_UPDATED_SNAPSHOT_ID
-
DV_COUNT
-
-
Method Details
-
schema
Deprecated.since 1.10.0, will be removed in 1.11.0. Useschema(StructType, int)
instead.Generates the partition stats file schema based on a combined partition type which considers all specs in a table.Use this only for format version 1 and 2. For version 3 and above use
schema(StructType, int)
- Parameters:
unifiedPartitionType
- unified partition schema type. Could be calculated byPartitioning.partitionType(Table)
.- Returns:
- a schema that corresponds to the provided unified partition type.
-
schema
Generates the partition stats file schema for a given format version based on a combined partition type which considers all specs in a table.- Parameters:
unifiedPartitionType
- unified partition schema type. Could be calculated byPartitioning.partitionType(Table)
.- Returns:
- a schema that corresponds to the provided unified partition type.
-
computeAndWriteStatsFile
Computes the stats incrementally after the snapshot that has partition stats file till the current snapshot and writes the combined result into aPartitionStatisticsFile
after merging the stats for a given table's current snapshot.Does a full compute if previous statistics file does not exist.
- Parameters:
table
- TheTable
for which the partition statistics is computed.- Returns:
PartitionStatisticsFile
for the current snapshot, or null if no statistics are present.- Throws:
IOException
-
computeAndWriteStatsFile
public static PartitionStatisticsFile computeAndWriteStatsFile(Table table, long snapshotId) throws IOException Computes the stats incrementally after the snapshot that has partition stats file till the given snapshot and writes the combined result into aPartitionStatisticsFile
after merging the stats for a given snapshot.Does a full compute if previous statistics file does not exist.
- Parameters:
table
- TheTable
for which the partition statistics is computed.snapshotId
- snapshot for which partition statistics are computed.- Returns:
PartitionStatisticsFile
for the given snapshot, or null if no statistics are present.- Throws:
IOException
-
readPartitionStatsFile
public static CloseableIterable<PartitionStats> readPartitionStatsFile(Schema schema, InputFile inputFile) Reads partition statistics from the specifiedInputFile
using given schema.
-