Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Delta Lake reserviert Eigenschaften von Delta-Tabellen, die mit delta beginnen. Diese Eigenschaften können bestimmte Bedeutungen haben und sich auf das Verhalten auswirken, wenn diese Eigenschaften festgelegt sind.
Hinweis
Alle Vorgänge, die Tabelleneigenschaften festlegen oder aktualisieren, führen zu einem Konflikt mit anderen gleichzeitigen Schreibvorgängen, wodurch sie fehlschlagen. Für Databricks wird empfohlen, eine Tabelleneigenschaft nur dann zu ändern, wenn keine gleichzeitigen Schreibvorgänge in der Tabelle erfolgen.
Wie interagieren Tabelleneigenschaften und SparkSession-Eigenschaften?
Delta-Tabelleneigenschaften werden pro Tabelle festgelegt. Wenn eine Eigenschaft für eine Tabelle festgelegt ist, dann ist dies die Eigenschaft, die standardmäßig befolgt wird.
Einige Tabelleneigenschaften verfügen über zugeordnete SparkSession-Konfigurationen, die immer Vorrang vor Tabelleneigenschaften haben. Einige Beispiele sind die spark.databricks.delta.autoCompact.enabled- und spark.databricks.delta.optimizeWrite.enabled-Konfigurationen, welche die automatische Verdichtung und optimierte Schreibvorgänge auf SparkSession-Ebene aktivieren statt auf der Tabellenebene. Databricks empfiehlt die Verwendung von tabellenbezogenen Konfigurationen für die meisten Workloads.
Für jede Delta-Tabelleneigenschaft können Sie mithilfe einer SparkSession-Konfiguration einen Standardwert für neue Tabellen festlegen, wodurch die integrierte Standardeinstellung überschrieben wird. Diese Einstellung wirkt sich nur auf neue Tabellen aus und überschreibt oder ersetzt keine Eigenschaften, die für vorhandene Tabellen festgelegt sind. Das in SparkSession verwendete Präfix unterscheidet sich von den Konfigurationen, die in den Tabelleneigenschaften verwendet werden, wie in der folgenden Tabelle gezeigt:
| Delta Lake-Konfiguration | Spark-Sitzungskonfiguration |
|---|---|
delta.<conf> |
spark.databricks.delta.properties.defaults.<conf> |
Wenn Sie beispielsweise die Eigenschaft delta.appendOnly = true für alle neuen Delta Lake-Tabellen festlegen möchten, die in einer Sitzung erstellt werden, können Sie Folgendes festlegen:
SET spark.databricks.delta.properties.defaults.appendOnly = true
Um Tabelleneigenschaften vorhandener Tabellen zu ändern, verwenden Sie SET TBLPROPERTIES.
Delta-Tabelleneigenschaften
Verfügbare Delta-Tabelleneigenschaften umfassen Folgendes:
| Eigenschaft |
|---|
delta.appendOnlytrue für diese Delta-Tabelle, damit sie nur Anfügevorgänge unterstützt. Wenn Sie nur Anfügevorgänge unterstützt, können vorhandene Datensätze nicht gelöscht und vorhandene Werte nicht aktualisiert werden.Weitere Informationen finden Sie unter Referenz zu Delta-Tabelleneigenschaften. Datentyp: BooleanStandard: false |
delta.autoOptimize.autoCompactauto, damit Delta Lake das Layout der Dateien für diese Delta-Tabelle automatisch optimiert.Weitere Informationen finden Sie unter Automatische Verdichtung für Delta Lake in Azure Databricks. Datentyp: BooleanStandardwert: (None) |
delta.autoOptimize.optimizeWritetrue, damit Delta Lake das Layout der Dateien für diese Delta-Tabelle bei Schreibvorgängen automatisch optimiert.Weitere Informationen finden Sie unter Optimierte Schreibvorgänge für Delta Lake in Azure Databricks. Datentyp: BooleanStandardwert: (None) |
delta.checkpoint.writeStatsAsJsontrue, damit Delta Lake Dateistatistiken in Prüfpunkten im JSON-Format für die stats-Spalte schreibt.Datentyp: BooleanStandard: false |
delta.checkpoint.writeStatsAsStructtrue, damit Delta Lake Dateistatistiken in Prüfpunkten im Strukturformat für die stats_parsed-Spalte und Partitionswerte als Struktur für partitionValues_parsed schreibt.Datentyp: BooleanStandard: true |
delta.checkpointPolicyclassic für klassische Delta Lake-Prüfpunkte.
v2 für v2-Prüfpunkte.Siehe Kompatibilität für Tabellen mit Liquid Clustering. Datentyp: StringStandard: classic |
delta.columnMapping.modeOb die Spaltenzuordnung für Delta-Tabellenspalten und die entsprechenden Parquet-Spalten, die unterschiedliche Namen verwenden, aktiviert ist. Weitere Informationen finden Sie unter Rename and drop columns with Delta Lake column mapping (Umbenennen und Löschen von Spalten mit Delta Lake-Spaltenzuordnung). Hinweis: Das Aktivieren von delta.columnMapping.mode aktiviert automatischdelta.randomizeFilePrefixes.Datentyp: DeltaColumnMappingModeStandard: none |
delta.dataSkippingNumIndexedColsDie Anzahl der Spalten für Delta Lake, über die Statistiken für das Überspringen von Daten gesammelt werden. Ein Wert von -1 bedeutet, dass Statistiken für alle Spalten gesammelt werden.Weitere Informationen finden Sie unter Überspringen von Daten für Delta Lake. Datentyp: IntStandard: 32 |
delta.dataSkippingStatsColumnsEine durch Trennzeichen getrennte Liste von Spaltennamen, für die Delta Lake Statistiken sammelt, um die Funktionalität zum Überspringen von Daten zu verbessern. Diese Eigenschaft hat Vorrang vor delta.dataSkippingNumIndexedCols.Weitere Informationen finden Sie unter Überspringen von Daten für Delta Lake. Datentyp: StringStandardwert: (None) |
delta.deletedFileRetentionDurationDie kürzeste Zeitspanne, die Delta Lake logisch gelöschte Dateien aufbewahrt, bevor sie physisch gelöscht werden. Dies dient dazu, Fehler in veralteten Readern nach Komprimierungen oder dem Überschreiben von Partitionen zu verhindern. Dieser Wert sollte groß genug sein, um Folgendes sicherzustellen:
Weitere Informationen finden Sie unter Konfigurieren der Datenaufbewahrung für Zeitreiseabfragen. Datentyp: CalendarIntervalStandard: interval 1 week |
delta.enableChangeDataFeedtrue, zum Aktivieren des Änderungsdatenfeeds.Weitere Informationen finden Sie unter Aktivieren des Änderungsdatenfeeds. Datentyp: BooleanStandard: false |
delta.enableDeletionVectorstrue, um Löschvektoren und prädiktive E/A für Updates zu aktivieren.Weitere Informationen finden Sie unter Was sind Löschvektoren?. Datentyp: BooleanStandard: Hängt von den Administratoreinstellungen des Arbeitsbereichs und der Databricks Runtime-Version ab. Weitere Informationen finden Sie unter Automatische Aktivierung von Löschvektoren. |
delta.enableTypeWideningtrue um die Erweiterung des Typspektrums zu ermöglichen.Weitere Informationen finden Sie unter Typerweiterung. Datentyp: BooleanStandard: false |
delta.isolationLevelDas Ausmaß, inwieweit eine Transaktion von Änderungen durch gleichzeitige Transaktionen isoliert sein muss. Gültige Werte sind Serializable und WriteSerializable.Siehe Isolationsstufen und Schreibkonflikte in Azure Databricks. Datentyp: StringStandard: WriteSerializable |
delta.logRetentionDurationDauer der Aufbewahrung für den Verlauf einer Tabelle. VACUUM Operationen setzen diesen Aufbewahrungsschwellenwert außer Kraft.Jedes Mal, wenn ein Prüfpunkt geschrieben wird, bereinigt Delta Lake automatisch Protokolleinträge, die älter als das Aufbewahrungsintervall sind. Wenn Sie diese Eigenschaft auf einen ausreichend großen Wert festlegen, werden viele Protokolleinträge beibehalten. Dies sollte sich nicht auf die Leistung auswirken, da Vorgänge für das Protokoll in einem konstanten Zeitraum durchgeführt werden. Vorgänge im Verlauf sind parallel, werden jedoch mit zunehmender Protokollgröße teurer. Weitere Informationen finden Sie unter Konfigurieren der Datenaufbewahrung für Zeitreiseabfragen. Datentyp: CalendarIntervalStandard: interval 30 days |
delta.minReaderVersionDie minimal erforderliche Version des Protokollreaders für einen Reader, der das Lesen aus dieser Delta-Tabelle zulässt. Databricks empfiehlt nicht, diese Eigenschaft manuell zu konfigurieren. Siehe Delta Lake Featurekompatibilität und Protokolle. Datentyp: IntStandard: 1 |
delta.minWriterVersionDie minimal erforderliche Version des Protokollwriters für einen Writer, der in diese Delta-Tabelle schreiben kann. Databricks empfiehlt nicht, diese Eigenschaft manuell zu konfigurieren. Siehe Delta Lake Featurekompatibilität und Protokolle. Datentyp: IntStandard: 2 |
delta.randomizeFilePrefixestrue, damit Delta Lake anstelle von Partitionsinformationen ein zufälliges Präfix für einen Dateipfad generiert.Datentyp: BooleanStandard: false |
delta.randomPrefixLengthWenn delta.randomizeFilePrefixes auf true festgelegt ist, die Anzahl der Zeichen, die Delta Lake für zufällige Präfixe generiert.Datentyp: IntStandard: 2 |
delta.setTransactionRetentionDurationDer kürzeste Zeitraum, in dem neue Momentaufnahmen Transaktionsbezeichner beibehalten (z. B. SetTransactions). Wenn eine neue Momentaufnahme einen Transaktionsbezeichner ermittelt, der älter oder gleich dem Zeitraum ist, der durch diese Eigenschaft angegeben wird, betrachtet die Momentaufnahme ihn als abgelaufen und ignoriert ihn. Mit dem Bezeichner SetTransaction werden Schreibvorgänge als idempotent festgelegt. Ausführliche Informationen finden Sie unter Idempotente Schreibvorgänge in foreachBatch.Datentyp: CalendarIntervalStandardwert: (None) |
delta.targetFileSizeDie Zieldateigröße in Bytes oder höheren Einheiten für die Dateioptimierung. Beispiel: 104857600 (Bytes) oder 100mb.Weitere Informationen finden Sie unter Konfigurieren von Delta Lake zum Steuern der Datendateigröße. Datentyp: StringStandardwert: (None) |
delta.tuneFileSizesForRewritestrue, um immer kleinere Dateigrößen für alle Datenlayout-Optimierungsvorgänge für die Delta-Tabelle zu verwenden.false, um nie auf kleinere Dateigrößen zu wechseln, also die automatische Erkennung zu verhindern.Weitere Informationen finden Sie unter Konfigurieren von Delta Lake zum Steuern der Datendateigröße. Datentyp: BooleanStandardwert: (None) |
delta.parquet.compression.codec (Verfügbar in Databricks Runtime 16.0 und höher.)Der Komprimierungscodec für eine Delta-Tabelle. ZSTD um die Zstandard-Komprimierung (Zstd) auf einer Delta-Tabelle zu verwenden.SNAPPY zur Verwendung der Snappy-Komprimierung in einer Delta-Tabelle.
Datentyp: StringStandard: ZSTD |