#[non_exhaustive]pub enum TableProperty {
Show 23 variants
AppendOnly,
AutoOptimizeAutoCompact,
AutoOptimizeOptimizeWrite,
CheckpointInterval,
CheckpointWriteStatsAsJson,
CheckpointWriteStatsAsStruct,
ColumnMappingMode,
DataSkippingNumIndexedCols,
DataSkippingStatsColumns,
DeletedFileRetentionDuration,
EnableChangeDataFeed,
EnableDeletionVectors,
IsolationLevel,
LogRetentionDuration,
EnableExpiredLogCleanup,
MinReaderVersion,
MinWriterVersion,
RandomizeFilePrefixes,
RandomPrefixLength,
SetTransactionRetentionDuration,
TargetFileSize,
TuneFileSizesForRewrites,
CheckpointPolicy,
}
Expand description
Typed property keys that can be defined on a delta table
https://docs.delta.io/latest/table-properties.html#delta-table-properties-reference https://learn.microsoft.com/en-us/azure/databricks/delta/table-properties
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
AppendOnly
true for this Delta table to be append-only. If append-only, existing records cannot be deleted, and existing values cannot be updated.
AutoOptimizeAutoCompact
true for Delta Lake to automatically optimize the layout of the files for this Delta table.
AutoOptimizeOptimizeWrite
true for Delta Lake to automatically optimize the layout of the files for this Delta table during writes.
CheckpointInterval
Interval (number of commits) after which a new checkpoint should be created
CheckpointWriteStatsAsJson
true for Delta Lake to write file statistics in checkpoints in JSON format for the stats column.
CheckpointWriteStatsAsStruct
true for Delta Lake to write file statistics to checkpoints in struct format for the stats_parsed column and to write partition values as a struct for partitionValues_parsed.
ColumnMappingMode
Whether column mapping is enabled for Delta table columns and the corresponding Parquet columns that use different names.
DataSkippingNumIndexedCols
The number of columns for Delta Lake to collect statistics about for data skipping. A value of -1 means to collect statistics for all columns. Updating this property does not automatically collect statistics again; instead, it redefines the statistics schema of the Delta table. Specifically, it changes the behavior of future statistics collection (such as during appends and optimizations) as well as data skipping (such as ignoring column statistics beyond this number, even when such statistics exist).
DataSkippingStatsColumns
A comma-separated list of column names on which Delta Lake collects statistics to enhance data skipping functionality. This property takes precedence over DataSkippingNumIndexedCols.
DeletedFileRetentionDuration
The shortest duration for Delta Lake to keep logically deleted data files before deleting them physically. This is to prevent failures in stale readers after compactions or partition overwrites.
This value should be large enough to ensure that:
- It is larger than the longest possible duration of a job if you run VACUUM when there are concurrent readers or writers accessing the Delta table.
- If you run a streaming query that reads from the table, that query does not stop for longer than this value. Otherwise, the query may not be able to restart, as it must still read old files.
EnableChangeDataFeed
true to enable change data feed.
EnableDeletionVectors
true to enable deletion vectors and predictive I/O for updates.
IsolationLevel
The degree to which a transaction must be isolated from modifications made by concurrent transactions.
Valid values are Serializable
and WriteSerializable
.
LogRetentionDuration
How long the history for a Delta table is kept.
Each time a checkpoint is written, Delta Lake automatically cleans up log entries older than the retention interval. If you set this property to a large enough value, many log entries are retained. This should not impact performance as operations against the log are constant time. Operations on history are parallel but will become more expensive as the log size increases.
EnableExpiredLogCleanup
TODO I could not find this property in the documentation, but was defined here and makes sense..?
MinReaderVersion
The minimum required protocol reader version for a reader that allows to read from this Delta table.
MinWriterVersion
The minimum required protocol writer version for a writer that allows to write to this Delta table.
RandomizeFilePrefixes
true for Delta Lake to generate a random prefix for a file path instead of partition information.
For example, this ma y improve Amazon S3 performance when Delta Lake needs to send very high volumes of Amazon S3 calls to better partition across S3 servers.
RandomPrefixLength
When delta.randomizeFilePrefixes is set to true, the number of characters that Delta Lake generates for random prefixes.
SetTransactionRetentionDuration
The shortest duration within which new snapshots will retain transaction identifiers (for example, SetTransactions). When a new snapshot sees a transaction identifier older than or equal to the duration specified by this property, the snapshot considers it expired and ignores it. The SetTransaction identifier is used when making the writes idempotent.
TargetFileSize
The target file size in bytes or higher units for file tuning. For example, 104857600 (bytes) or 100mb.
TuneFileSizesForRewrites
The target file size in bytes or higher units for file tuning. For example, 104857600 (bytes) or 100mb.
CheckpointPolicy
‘classic’ for classic Delta Lake checkpoints. ‘v2’ for v2 checkpoints.
Trait Implementations§
Source§impl AsRef<str> for TableProperty
impl AsRef<str> for TableProperty
Source§impl FromStr for TableProperty
impl FromStr for TableProperty
Source§impl Hash for TableProperty
impl Hash for TableProperty
Source§impl PartialEq for TableProperty
impl PartialEq for TableProperty
impl Eq for TableProperty
impl StructuralPartialEq for TableProperty
Auto Trait Implementations§
impl Freeze for TableProperty
impl RefUnwindSafe for TableProperty
impl Send for TableProperty
impl Sync for TableProperty
impl Unpin for TableProperty
impl UnwindSafe for TableProperty
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more