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.
Predictive I/O ist eine Sammlung von Azure Databricks-Optimierungen, die das Lesen und Aktualisieren von Daten beschleunigen:
- Beschleunigte Lesevorgänge beschleunigen selektive Abfragen, die sonst deutlich mehr Daten scannen würden, als sie zurückliefern.
- Accelerated updates reduzieren die Daten, die neu geschrieben werden, wenn ein Update, Löschen oder Merge nur wenige Zeilen in einer Datei ändert.
Predictive I/O ist exklusiv für die Photon-Engine in Azure Databricks. Siehe Was ist Photon?.
Wenn prädiktive I/O angewendet wird
Predictive I/O läuft automatisch. Man schaltet es nicht für einzelne Abfragen ein. So profitieren Sie:
- Führe Abfragen auf serverlosen oder Pro SQL Warehouses oder auf Photon-fähigen Clustern aus. Siehe Prädiktives I/O zum Beschleunigen von Lesevorgängen verwenden.
- Aktivieren Sie Löschvektoren auf Tabellen mit häufigen
DELETE,MERGE, oderUPDATEOperationen, um beschleunigte Aktualisierungen zu erhalten. Weitere Informationen finden Sie unter Verwenden von vorhersagender E/A zur Beschleunigung von Updatevorgängen.
Predictive I/O ersetzt ebenfalls die Bloom-Filterindizes. Siehe Bloom-Filterindizes (veraltet).
Predictive I/O verwenden, um Lesevorgänge zu beschleunigen
Predictive I/O-Vorgänge werden verwendet, um die Leistung der Datenüberprüfung und -filterung für alle Vorgänge für unterstützte Computetypen zu steigern.
Wichtig
Prädiktive E/A-Lesevorgänge werden von den serverlosen und Pro-Typen von SQL-Warehouses sowie von Photon-beschleunigten Clustern unterstützt, die Databricks Runtime 11.3 LTS und höher ausführen.
Prädiktive I/O verbessert die Scan-Leistung durch den Einsatz von Deep-Learning-Techniken, um:
- Bestimmen Sie das effizienteste Zugriffsmuster, um die Daten zu lesen, und scannen Sie nur die tatsächlich benötigten Daten.
- Aufheben der Decodierung von Spalten und Zeilen, die zum Generieren von Abfrageergebnissen nicht erforderlich sind.
- Berechnen der Wahrscheinlichkeiten von Suchkriterien in selektiven Abfragen, die einer Zeile entsprechen. Während Abfragen laufen, nutzt Predictive I/O diese Wahrscheinlichkeiten, um vorherzusagen, wo sich die nächste passende Zeile befindet, und liest nur diese Daten aus dem Cloud-Speicher.
Verwenden von Predictive I/O zum Beschleunigen von Updatevorgängen
Predictive I/O für Updates wird automatisch für alle Tabellen verwendet, die auf diesen photonenfähigen Rechenarten Löschvektoren aktiviert haben:
- Serverlose SQL-Warehouses
- Pro SQL-Warehouses
- Cluster mit Databricks Runtime 14.0 und höher
Hinweis
Zwar wird prädiktives E/A für Updates in Databricks Runtime 12.2 LTS und höher unterstützt, Databricks empfiehlt jedoch die Verwendung von Databricks Runtime 14.0 und höher, um eine optimale Leistung zu gewährleisten.
Siehe Löschungsvektoren in Databricks.
Wichtig
Eine Workspace-Admin-Einstellung steuert, ob Löschvektoren für neue Delta-Lake-Tabellen automatisch aktiviert werden. Weitere Informationen finden Sie unter Automatische Aktivierung von Löschvektoren.
Sie aktivieren die Unterstützung für Löschvektoren für eine Delta Lake-Tabelle, indem Sie eine Delta Lake-Tabelleneigenschaft festlegen. Du aktivierst Löschvektoren während der Tabellenerstellung oder änderst eine bestehende Tabelle, zum Beispiel:
CREATE TABLE <table-name> [options] TBLPROPERTIES ('delta.enableDeletionVectors' = true);
ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);
Warnung
Wenn Sie Löschvektoren aktivieren, wird die Tabellenprotokollversion aktualisiert. Nach dem Upgrade ist die Tabelle für Delta-Lake-Clients, die keine Löschvektoren unterstützen, nicht lesbar. Siehe Delta Lake Featurekompatibilität und Protokolle.
Eine Liste der Clients, die Löschvektoren unterstützen, finden Sie unter Clientkompatibilität.
In Databricks Runtime 14.1 und höher können Sie das Tabellenfeature für Löschvektoren ablegen, um die Kompatibilität mit anderen Delta-Clients zu ermöglichen. Weitere Informationen finden Sie unter Löschen eines Delta Lake-Tabellenfeatures und Herabstufen des Tabellenprotokolls.
Predictive I/O nutzt Löschvektoren, um Aktualisierungen zu beschleunigen, indem die Häufigkeit vollständiger Dateiumschreibungen während der Datenänderung in Delta-Lake-Tabellen reduziert wird. Predictive I/O optimiert DELETE-, MERGE- und UPDATE-Vorgänge.
Anstatt alle Datensätze in einer Datendatei neu zu schreiben, wenn ein Datensatz aktualisiert oder gelöscht wird, verwendet Predictive I/O Löschvektoren, um anzugeben, dass Datensätze aus den Zieldatendateien entfernt wurden. Zusätzliche Datendateien werden verwendet, um Updates anzugeben.
Nachfolgende Lesevorgänge in der Tabelle lösen den aktuellen Tabellenstatus auf, indem die notierten Änderungen auf die neueste Tabellenversion angewendet werden.
Wichtig
Prädiktive I/O-Aktualisierungen unterliegen denselben Einschränkungen wie Löschvektoren. In Databricks Runtime 12.2 LTS und höher gelten folgende Einschränkungen:
- OpenSharing wird für Tabellen mit aktivierten Löschvektoren nicht unterstützt.
- Sie können keine Manifestdatei für eine Tabelle mit vorhandenen Löschvektoren generieren. Führen Sie
REORG TABLE ... APPLY (PURGE)aus und stellen Sie sicher, dass keine gleichzeitigen Schreibvorgänge ausgeführt werden, um ein Manifest zu generieren. - Sie können keine inkrementellen Manifestdateien für eine Tabelle mit aktivierten Löschvektoren erstellen.