Package org.apache.iceberg
Class PartitionSpec
java.lang.Object
org.apache.iceberg.PartitionSpec
- All Implemented Interfaces:
Serializable
Represents how to produce partition data for a table.
Partition data is produced by transforming columns in a table. Each column transform is
represented by a named PartitionField
.
- See Also:
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic PartitionSpec.Builder
builderFor
(Schema schema) Creates a newpartition spec builder
for the givenSchema
.boolean
compatibleWith
(PartitionSpec other) Returns true if this spec is equivalent to the other, with partition field ids ignored.boolean
fields()
Returns the list ofpartition fields
for this spec.getFieldsBySourceId
(int fieldId) Returns thefield
that partitions the given source fieldint
hashCode()
Returns the source field ids for identity partitions.boolean
boolean
Class<?>[]
partitionToPath
(StructLike data) Returns aTypes.StructType
for partition data defined by this spec.Returns a struct matching partition information as written into manifest files.schema()
Returns theSchema
for this spec.int
specId()
Returns the ID of this spec.toString()
static PartitionSpec
Returns a spec for unpartitioned tables.
-
Method Details
-
schema
Returns theSchema
for this spec. -
specId
public int specId()Returns the ID of this spec. -
fields
Returns the list ofpartition fields
for this spec. -
isPartitioned
public boolean isPartitioned() -
isUnpartitioned
public boolean isUnpartitioned() -
toUnbound
-
getFieldsBySourceId
Returns thefield
that partitions the given source field- Parameters:
fieldId
- a field id from the source schema- Returns:
- the
field
that partitions the given source field
-
partitionType
Returns aTypes.StructType
for partition data defined by this spec. -
rawPartitionType
Returns a struct matching partition information as written into manifest files. SeepartitionType()
for a struct with field ID's potentially re-assigned to avoid conflict. -
javaClasses
-
partitionToPath
-
compatibleWith
Returns true if this spec is equivalent to the other, with partition field ids ignored. That is, if both specs have the same number of fields, field order, field name, source columns, and transforms.- Parameters:
other
- another PartitionSpec- Returns:
- true if the specs have the same fields, source columns, and transforms.
-
equals
-
hashCode
public int hashCode() -
identitySourceIds
Returns the source field ids for identity partitions.- Returns:
- a set of source ids for the identity partitions.
-
toString
-
unpartitioned
Returns a spec for unpartitioned tables.- Returns:
- a partition spec with no partitions
-
builderFor
Creates a newpartition spec builder
for the givenSchema
.- Parameters:
schema
- a schema- Returns:
- a partition spec builder for the given schema
-