trait SupportsAtomicPartitionManagement extends SupportsPartitionManagement
An atomic partition interface of Table to operate multiple partitions atomically.
These APIs are used to modify table partition or partition metadata,
they will change the table data as well.
$#createPartitions:
add an array of partitions and any data they contain to the table
$#dropPartitions:
remove an array of partitions and any data they contain from the table
- Since
3.1.0
- Alphabetic
- By Inheritance
- SupportsAtomicPartitionManagement
- SupportsPartitionManagement
- Table
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
capabilities(): Set[TableCapability]
Returns the set of capabilities for this table.
Returns the set of capabilities for this table.
- Definition Classes
- Table
-
abstract
def
createPartitions(idents: Array[InternalRow], properties: Array[Map[String, String]]): Unit
Create an array of partitions atomically in table.
Create an array of partitions atomically in table.
If any partition already exists, the operation of createPartitions need to be safely rolled back.
- idents
an array of new partition identifiers
- properties
the metadata of the partitions
- Exceptions thrown
PartitionsAlreadyExistExceptionIf any partition already exists for the identifierUnsupportedOperationExceptionIf partition property is not supported
-
abstract
def
dropPartitions(idents: Array[InternalRow]): Boolean
Drop an array of partitions atomically from table.
Drop an array of partitions atomically from table.
If any partition doesn't exists, the operation of dropPartitions need to be safely rolled back.
- idents
an array of partition identifiers
- returns
true if partitions were deleted, false if any partition not exists
-
abstract
def
listPartitionIdentifiers(names: Array[String], ident: InternalRow): Array[InternalRow]
List the identifiers of all partitions that match to the ident by names.
List the identifiers of all partitions that match to the ident by names.
- names
the names of partition values in the identifier.
- ident
a partition identifier values.
- returns
an array of Identifiers for the partitions
- Definition Classes
- SupportsPartitionManagement
-
abstract
def
loadPartitionMetadata(ident: InternalRow): Map[String, String]
Retrieve the partition metadata of the existing partition.
Retrieve the partition metadata of the existing partition.
- ident
a partition identifier
- returns
the metadata of the partition
- Definition Classes
- SupportsPartitionManagement
- Exceptions thrown
UnsupportedOperationExceptionIf partition property is not supported
-
abstract
def
name(): String
A name to identify this table.
A name to identify this table. Implementations should provide a meaningful name, like the database and table name from catalog, or the location of files for this table.
- Definition Classes
- Table
-
abstract
def
partitionSchema(): StructType
Get the partition schema of table, this must be consistent with $
Table#partitioning().Get the partition schema of table, this must be consistent with $
Table#partitioning().- returns
the partition schema of table
- Definition Classes
- SupportsPartitionManagement
-
abstract
def
replacePartitionMetadata(ident: InternalRow, properties: Map[String, String]): Unit
Replace the partition metadata of the existing partition.
Replace the partition metadata of the existing partition.
- ident
the partition identifier of the existing partition
- properties
the new metadata of the partition
- Definition Classes
- SupportsPartitionManagement
- Exceptions thrown
NoSuchPartitionExceptionIf the partition identifier to alter doesn't existUnsupportedOperationExceptionIf partition property is not supported
-
abstract
def
schema(): StructType
Returns the schema of this table.
Returns the schema of this table. If the table is not readable and doesn't have a schema, an empty schema can be returned here.
- Definition Classes
- Table
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
createPartition(ident: InternalRow, properties: Map[String, String]): Unit
Create a partition in table.
Create a partition in table.
- ident
a new partition identifier
- properties
the metadata of a partition
- Definition Classes
- SupportsAtomicPartitionManagement → SupportsPartitionManagement
- Exceptions thrown
PartitionAlreadyExistsExceptionIf a partition already exists for the identifierUnsupportedOperationExceptionIf partition property is not supported
-
def
dropPartition(ident: InternalRow): Boolean
Drop a partition from table.
Drop a partition from table.
- ident
a partition identifier
- returns
true if a partition was deleted, false if no partition exists for the identifier
- Definition Classes
- SupportsAtomicPartitionManagement → SupportsPartitionManagement
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
partitionExists(ident: InternalRow): Boolean
Test whether a partition exists using an
identfrom the table.Test whether a partition exists using an
identfrom the table.- ident
a partition identifier which must contain all partition fields in order
- returns
true if the partition exists, false otherwise
- Definition Classes
- SupportsPartitionManagement
-
def
partitioning(): Array[Transform]
Returns the physical partitioning of this table.
Returns the physical partitioning of this table.
- Definition Classes
- Table
-
def
properties(): Map[String, String]
Returns the string map of table properties.
Returns the string map of table properties.
- Definition Classes
- Table
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()