Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Databricks empfiehlt die Verwendung von Streamingtabellen zum Erfassen von Daten mit Databricks SQL. Eine Streamingtabelle ist eine bei Unity Catalog registrierte Tabelle mit zusätzlicher Unterstützung für Streaming oder inkrementelle Datenverarbeitung. Für jede Streamingtabelle wird automatisch eine Pipeline erstellt. Sie können Streamingtabellen für das inkrementelle Laden von Daten von Kafka und vom Cloudobjektspeicher verwenden.
Hinweis
Informationen darüber, wie Delta Lake-Tabellen als Streamingquellen und Streaming-Senken genutzt werden, finden Sie unter Delta-Tabellen-Streaming: Lese- und Schreibvorgänge.
Anforderungen
Um Streamingtabellen zu verwenden, müssen Sie die folgenden Anforderungen erfüllen.
Anforderungen an den Arbeitsbereich:
In Databricks SQL erstellte Streamingtabellen werden von serverlosen Pipelines unterstützt. Ihr Arbeitsbereich muss serverlose Pipelines unterstützen, um diese Funktionalität zu verwenden.
- Ein Azure Databricks-Konto mit aktiviertem serverlosen Konto. Weitere Informationen finden Sie unter Aktivieren von serverlosen SQL-Warehouses.
- Ein Arbeitsbereich, für den Unity Catalog aktiviert ist. Weitere Informationen finden Sie unter "Erste Schritte mit Unity-Katalog".
Computeanforderungen:
Sie müssen eine der folgenden Voraussetzungen verwenden:
- Ein SQL-Warehouse, das den
Current-Kanal verwendet. - Berechnungen mit dem Standardzugriffsmodus (früher gemeinsam genutzter Zugriffsmodus) auf Databricks Runtime 13.3 LTS oder höher.
Berechnen Sie mit dem dedizierten Zugriffsmodus (früher Einzelbenutzer-Zugriffsmodus) auf Databricks Runtime 15.4 LTS oder höher.
Unter Databricks Runtime 15.3 und unten können Sie keine dedizierte Berechnung verwenden, um Streamingtabellen abzufragen, die im Besitz anderer Benutzer sind. Sie können dedizierte Berechnungskapazität auf Databricks Runtime 15.3 und früheren Versionen nur verwenden, wenn Sie die Streamingtabelle besitzen. Der Ersteller der Tabelle ist der Besitzer.
Databricks Runtime 15.4 LTS und höher unterstützen das Abfragen von pipeline-erzeugten Tabellen auf dedizierter Rechenkapazität, auch wenn Sie nicht der Tabellenbesitzer sind. Sie könnten für serverlose Rechnerressourcen belastet werden, wenn Sie dedizierte Rechnerkapazitäten verwenden, um Datenfiltervorgänge auszuführen. Siehe Feingranulare Zugriffssteuerung auf dedizierten Rechenressourcen.
Berechtigungsanforderungen:
- Die Berechtigungen
USE CATALOGundUSE SCHEMAfür den Katalog und das Schema, wo Sie die Streamingtabelle erstellen. - Die
CREATE TABLE-Berechtigung für das Schema, in dem Sie die Streamingtabelle erstellen. - Berechtigungen für den Zugriff auf die Tabellen oder Speicherorte, die die Quelldaten für Ihre Streamingtabelle bereitstellen.
Erstellen von Streamingtabellen
Eine Streamingtabelle wird durch eine SQL-Abfrage in Databricks SQL definiert. Wenn Sie eine Streamingtabelle erstellen, werden die daten, die sich derzeit in den Quelltabellen befinden, verwendet, um die Streamingtabelle zu erstellen. Danach aktualisieren Sie die Tabelle, in der Regel nach einem Zeitplan, um alle hinzugefügten Daten in den Quelltabellen abzurufen, um sie an die Streamingtabelle anzufügen.
Wenn Sie eine Streamingtabelle erstellen, werden Sie als Besitzer der Tabelle betrachtet.
Um eine Streamingtabelle aus einer vorhandenen Tabelle zu erstellen, verwenden Sie die CREATE STREAMING TABLE Anweisung wie im folgenden Beispiel:
CREATE OR REFRESH STREAMING TABLE sales
SCHEDULE EVERY 1 hour
AS SELECT product, price FROM STREAM raw_data;
In diesem Fall wird die Streamingtabelle sales aus bestimmten Spalten der raw_data Tabelle mit einem Zeitplan erstellt, der jede Stunde aktualisiert werden soll. Die verwendete Abfrage muss eine Streamingabfrage sein. Verwenden Sie das STREAM Schlüsselwort, um Streamingsemantik zum Lesen aus der Quelle zu verwenden.
Wenn Sie eine Streamingtabelle mit der CREATE OR REFRESH STREAMING TABLE Anweisung erstellen, beginnen die anfängliche Datenaktualisierung und -population sofort. Diese Vorgänge verbrauchen keine DBSQL Warehouse Compute. Stattdessen basieren Streamingtabellen auf serverlose Pipelines für die Erstellung und Aktualisierung. Eine dedizierte serverlose Pipeline wird automatisch vom System für jede Streamingtabelle erstellt und verwaltet.
Laden von Dateien mit automatischem Ladeprogramm
Um eine Streamingtabelle aus Dateien in einem Volume zu erstellen, verwenden Sie das automatische Laden. Verwenden Sie das automatische Laden für die meisten Datenaufnahmeaufgaben aus dem Cloudobjektspeicher. Auto Loader und Pipelines sind so konzipiert, dass sie inkrementell und idempotent immer größer werdende Daten laden, sobald sie im Cloud-Speicher eingehen.
Verwenden Sie die read_files Funktion, um auto Loader in Databricks SQL zu verwenden. Die folgenden Beispiele zeigen die Verwendung von Auto Loader zum Lesen eines Volumens von JSON-Dateien in eine Streamingtabelle:
CREATE OR REFRESH STREAMING TABLE sales
SCHEDULE EVERY 1 hour
AS SELECT * FROM STREAM read_files(
"/Volumes/my_catalog/my_schema/my_volume/path/to/data",
format => "json"
);
Um Daten aus cloudbasiertem Speicher zu lesen, können Sie auch das automatische Laden verwenden:
CREATE OR REFRESH STREAMING TABLE sales
SCHEDULE EVERY 1 hour
AS SELECT *
FROM STREAM read_files(
'abfss://myContainer@myStorageAccount.dfs.core.windows.net/analysis/*/*/*.json',
format => "json"
);
Weitere Informationen zum automatischen Laden finden Sie unter "Was ist auto Loader?" Weitere Informationen zur Verwendung des automatischen Ladeprogramms in SQL mit Beispielen finden Sie unter Laden von Daten aus objektspeicher.
Erfassung per Streaming aus anderen Quellen
Beispiel für die Aufnahme aus anderen Quellen, einschließlich Kafka, finden Sie unter Laden von Daten in Pipelines.
Nur neue Daten aufnehmen
Standardmäßig liest die read_files-Funktion alle vorhandenen Daten im Quellverzeichnis während der Tabellenerstellung und verarbeitet dann neu eingehende Datensätze mit jeder Aktualisierung.
Um das Aufnehmen von Daten zu vermeiden, die zum Zeitpunkt der Tabellenerstellung bereits im Quellverzeichnis vorhanden sind, legen Sie die Option includeExistingFiles auf falsefest. Dies bedeutet, dass nur Daten verarbeitet werden, die nach der Tabellenerstellung im Verzeichnis eingehen. Beispiel:
CREATE OR REFRESH STREAMING TABLE sales
SCHEDULE EVERY 1 hour
AS SELECT *
FROM STREAM read_files(
'/path/to/files',
includeExistingFiles => false
);
Festlegen des Laufzeitkanals
Streamingtabellen, die mit SQL-Lagerhäusern erstellt wurden, werden automatisch mithilfe einer Pipeline aktualisiert. Pipelines verwenden standardmäßig die Runtime im current Kanal. Lesen Sie die Versionshinweise zu Lakeflow Spark Declarative Pipelines und den Releaseupgradeprozess , um mehr über den Veröffentlichungsprozess zu erfahren.
Databricks empfiehlt die Verwendung des current Kanals für Produktionsworkloads. Neue Features werden zuerst im preview Kanal veröffentlicht. Sie können eine Pipeline auf den Vorschaukanal festlegen, um neue Features zu testen, indem Sie als Tabelleneigenschaft angeben preview . Sie können diese Eigenschaft angeben, wenn Sie die Tabelle erstellen oder nachdem die Tabelle mithilfe einer ALTER-Anweisung erstellt wurde.
Das folgende Codebeispiel zeigt, wie Sie den Kanal in einer CREATE-Anweisung auf eine Vorschau festlegen:
CREATE OR REFRESH STREAMING TABLE sales
TBLPROPERTIES ('pipelines.channel' = 'preview')
SCHEDULE EVERY 1 hour
AS SELECT *
FROM STREAM raw_data;
Planen von Aktualisierungen der Streamingtabelle
Sie können eine SQL-Streamingtabelle für Databricks so konfigurieren, dass sie automatisch basierend auf einem definierten Zeitplan aktualisiert oder ausgelöst wird, wenn upstream-Daten geändert werden.
Von Bedeutung
Das TRIGGER ON UPDATE Feature befindet sich in der Betaversion.
Führen Sie zum Festlegen eines Zeitplans oder Triggers eine der folgenden Aktionen aus:
- Konfigurieren Sie den Zeitplan mit der
SCHEDULEKlausel, wenn Sie die Streamingtabelle erstellen. - Konfigurieren Sie einen Trigger mit der
TRIGGER ON UPDATEKlausel, wenn Sie die Tabelle erstellen. - Fügen Sie Zeitpläne oder Trigger mit der Anweisung hinzu, oder ändern Sie sie ALTER STREAMING TABLE .
Hinweis
Erstellen Sie alternativ eine Aufgabe in einem Auftrag, der entweder die CREATE OR REFRESH STREAMING TABLE Oder eine REFRESH Aussage enthält, und koordinieren Sie sie wie jede andere Aufgabe. Siehe Lakeflow Jobs.
Wenn Sie einen Zeitplan erstellen, erstellt Azure Databricks automatisch einen neuen Auftrag zum Verarbeiten des Updates.
Führen Sie zum Anzeigen des Zeitplans einen der folgenden Schritte aus:
- Führen Sie die
DESCRIBE EXTENDEDAnweisung aus dem SQL-Editor in der Azure Databricks-Benutzeroberfläche aus. Siehe DESCRIBE TABLE. - Verwenden Sie den Katalog-Explorer, um die Streamingtabelle anzuzeigen. Der Zeitplan wird auf der Registerkarte Übersicht unter Aktualisierungsstatus aufgeführt. Siehe Was ist der Katalog-Explorer?.
Auch bei einem Aktualisierungszeitplan können Sie jederzeit eine manuelle Aktualisierung ausführen, wenn Sie aktualisierte Daten benötigen.
Ausblenden vertraulicher Daten
Sie können Streamingtabellen verwenden, um vertrauliche Daten von Benutzern auszublenden, die auf die Tabelle zugreifen. Ein Ansatz besteht darin, die Abfrage so zu definieren, dass vertrauliche Spalten oder Zeilen vollständig ausgeschlossen werden. Alternativ können Sie Spaltenmasken oder Zeilenfilter basierend auf den Berechtigungen des Abfragebenutzers anwenden. Beispielsweise könnten Sie die tax_id Spalte für Benutzer ausblenden, die sich nicht in der Gruppe HumanResourcesDeptbefinden. Verwenden Sie dazu die ROW FILTER und MASK Syntax während der Erstellung der Streamingtabelle. Weitere Informationen finden Sie unter Zeilenfilter und Spaltenmasken.
Aktualisieren einer Streamingtabelle
Aktualisierungen können automatisch geplant werden, wenn Sie die Streamingtabelle erstellen. Sie können Streamingtabellen auch manuell aktualisieren. Auch wenn Sie über eine geplante Aktualisierung verfügen, können Sie jederzeit eine manuelle Aktualisierung aufrufen. Aktualisierungen werden von derselben Pipeline behandelt, die automatisch zusammen mit der Streamingtabelle erstellt wurde.
So aktualisieren Sie eine Streamingtabelle:
REFRESH STREAMING TABLE sales;
Sie können den Status der neuesten Aktualisierung mit DESCRIBE TABLE EXTENDED überprüfen.
Hinweis
Möglicherweise müssen Sie Ihre Streamingtabelle aktualisieren, bevor Sie Zeitreise-Abfragen verwenden.
Funktionsweise der Aktualisierung
Eine Aktualisierung einer Streamingtabelle wertet nur neue Zeilen aus, die seit der letzten Aktualisierung eingegangen sind, und fügt nur die neuen Daten an.
Jede Aktualisierung verwendet die aktuelle Definition der Streamingtabelle, um diese neuen Daten zu verarbeiten. Das Ändern einer Streamingtabellendefinition berechnet vorhandene Daten nicht automatisch neu. Wenn eine Änderung nicht mit vorhandenen Daten kompatibel ist (z. B. ändern eines Datentyps), schlägt die nächste Aktualisierung mit einem Fehler fehl.
In den folgenden Beispielen wird erläutert, wie sich Änderungen an einer Streamingtabellendefinition auf das Aktualisierungsverhalten auswirken:
- Durch das Entfernen eines Filters werden zuvor gefilterte Zeilen nicht erneut verarbeitet.
- Das Ändern von Spaltenprojektionen wirkt sich nicht darauf aus, wie vorhandene Daten verarbeitet wurden.
- Verknüpfungen mit statischen Momentaufnahmen verwenden den Momentaufnahmezustand zum Zeitpunkt der anfänglichen Verarbeitung. Spät ankommende Daten, die mit der aktualisierten Momentaufnahme übereinstimmen würden, werden ignoriert. Dies kann dazu führen, dass Fakten ignoriert werden, wenn Dimensionen verspätet sind.
- Das Ändern des CAST einer vorhandenen Spalte führt zu einem Fehler.
Wenn sich Ihre Daten auf eine Weise ändern, die in der vorhandenen Streamingtabelle nicht unterstützt werden kann, können Sie eine vollständige Aktualisierung durchführen.
Vollständiges Aktualisieren einer Streamingtabelle
Vollständige Aktualisierungen verarbeiten alle in der Quelle verfügbaren Daten mit der neuesten Definition erneut. Es wird nicht empfohlen, vollständige Aktualisierungen für Quellen aufzurufen, die den gesamten Verlauf der Daten nicht beibehalten oder kurze Aufbewahrungsfristen haben, z. B. Kafka, da die vollständige Aktualisierung die vorhandenen Daten abschneidet. Möglicherweise können Sie alte Daten nicht wiederherstellen, wenn die Daten in der Quelle nicht mehr verfügbar sind.
Beispiel:
REFRESH STREAMING TABLE sales FULL;
Ändern des Zeitplans für eine Streamingtabelle
Sie können einen automatischen Aktualisierungszeitplan für Ihre Streamingtabelle ändern (oder festlegen). Die folgenden Beispiele zeigen Ihnen, wie Sie einen Zeitplan mithilfe von ALTER STREAMING TABLE erstellen:
ALTER STREAMING TABLE sales
ADD SCHEDULE EVERY 1 HOUR;
-- Alters the schedule to refresh the streaming table when its upstream data
-- gets updated.
ALTER STREAMING TABLE sales
ALTER TRIGGER ON UPDATE;
Ein Beispiel für Abfragen von Aktualisierungszeitplänen finden Sie unter ALTER STREAMING TABLE.
Nachverfolgen des Status einer Aktualisierung
Sie können den Status einer Aktualisierung einer Streamingtabelle anzeigen, indem Sie die Pipeline anzeigen, die die Streamingtabelle in der Pipelines-Benutzeroberfläche verwaltet, oder indem Sie die vom Befehl für die Streamingtabelle zurückgegebenen DESCRIBE EXTENDED anzeigen.
DESCRIBE TABLE EXTENDED <table-name>;
Alternativ können Sie die Streamingtabelle im Katalog-Explorer anzeigen und den Aktualisierungsstatus dort anzeigen:
- Klicken Sie auf
Katalog in der Randleiste.
- Öffnen Sie im Katalog-Explorer-Baum links den Katalog, und wählen Sie das Schema aus, in dem sich die Streamingtabelle befindet.
- Öffnen Sie das Tabellenelement unter dem ausgewählten Schema, und klicken Sie auf die Streamingtabelle.
Von hier aus können Sie die Registerkarten unter dem Namen der Streamingtabelle verwenden, um Informationen zur Streamingtabelle anzuzeigen und zu bearbeiten, einschließlich:
- Status und Verlauf aktualisieren
- Das Tabellenschema
- Beispieldaten (erfordert eine aktive Berechnung)
- Erlaubnisse
- Datenherkunft, einschließlich Tabellen und Pipelines, von denen diese Streamingtabelle abhängt
- Einblicke in die Nutzung
- Monitore, die Sie für diese Streaming-Tabelle erstellt haben
Timeouts bei Aktualisierungen
Langandauernde Aktualisierungen können zu Zeitüberschreitungen führen. Streamingtabellen, die nach dem 14. August 2025 erstellt oder aktualisiert wurden, verwenden das Timeout, das dem SQL-Warehouse zugeordnet ist, mit dem die Aktualisierung ausgeführt wird. Wenn für das Lager kein Timeout festgelegt ist, wird der Standardwert von 2 Tagen verwendet.
Hinweis
Die Streamingtabelle synchronisiert nur das Timeout, wenn Sie eine CREATE OR REFRESH Anweisung manuell ausführen. Geplante Updates behalten das Timeout aus der letzten CREATE OR REFRESH.
Sie können das Timeout explizit mit einer STATEMENT_TIMEOUT Konfiguration in Sql für die Aktualisierung festlegen. Siehe STATEMENT_TIMEOUT.
Steuern des Zugriffs auf Streamingtabellen
Streamingtabellen unterstützen umfassende Zugriffskontrollen, um die gemeinsame Nutzung von Daten zu ermöglichen, ohne potenziell private Daten offenzulegen. Ein Besitzer einer Streamingtabelle oder ein Benutzer mit dem MANAGE-Recht kann anderen Benutzern SELECT-Rechte gewähren. Benutzer mit SELECT Zugriff auf die Streamingtabelle benötigen SELECT keinen Zugriff auf die Tabellen, auf die von der Streamingtabelle verwiesen wird. Diese Zugriffskontrolle ermöglicht das Teilen von Daten und steuert gleichzeitig den Zugriff auf die zugrunde liegenden Daten.
Sie können auch den Besitzer einer Streamingtabelle ändern.
Gewähren von Berechtigungen für eine Streamingtabelle
Verwenden Sie die GRANT Anweisung, um Zugriff auf eine Streamingtabelle zu gewähren:
GRANT <privilege_type> ON <st_name> TO <principal>;
Dies privilege_type kann sein:
-
SELECT– Die benutzende Person kann für die Streamingtabelle Folgendes ausführen:SELECT. -
REFRESH– Die benutzende Person kann für die Streamingtabelle Folgendes ausführen:REFRESH. Aktualisierungen werden mit den Berechtigungen des Besitzers ausgeführt.
Im folgenden Beispiel wird eine Streamingtabelle erstellt und Benutzern Auswahl- und Aktualisierungsberechtigungen gewährt:
CREATE MATERIALIZED VIEW st_name AS SELECT * FROM source_table;
-- Grant read-only access:
GRANT SELECT ON st_name TO read_only_user;
-- Grand read and refresh access:
GRANT SELECT ON st_name TO refresh_user;
GRANT REFRESH ON st_name TO refresh_user;
Weitere Informationen zum Gewähren von Berechtigungen für sicherungsfähige Unity Catalog-Objekte finden Sie unter Unity Catalog-Berechtigungen und sicherungsfähige Objekte.
Widerrufen von Berechtigungen einer Streamingtabelle
Verwenden Sie die Anweisung REVOKE, um den Zugriff auf eine Streamingtabelle zu widerrufen.
REVOKE privilege_type ON <st_name> FROM principal;
Wenn SELECT Berechtigungen für eine Quelltabelle vom Besitzer der Streamingtabelle oder einem anderen Benutzer entzogen werden, der MANAGE oder SELECT Berechtigungen für die Streamingtabelle erhalten hat, oder die Quelltabelle gelöscht wird, kann der Besitzer der Streamingtabelle oder der Benutzer, dem Zugriff gewährt wurde, weiterhin die Streamingtabelle abfragen. Es kommt jedoch zu folgendem Verhalten:
- Die Person, die die Streamingtabelle besitzt, oder andere Personen, die den Zugriff auf eine Streamingtabelle verloren haben, können für diese Streamingtabelle nicht mehr
REFRESHausführen, und die Streamingtabelle wird veraltet. - Wenn die Automatisierung per Zeitplan erfolgt, schlägt der nächste geplante
REFRESH-Vorgang fehl oder wird nicht ausgeführt.
Im folgenden Beispiel wird SELECT die read_only_user-Berechtigung entzogen:
REVOKE SELECT ON st_name FROM read_only_user;
Ändern des Besitzers einer Streamingtabelle
Ein Benutzer mit MANAGE Berechtigungen für eine in Databricks SQL definierte Streamingtabelle kann einen neuen Besitzer über den Katalog-Explorer festlegen. Der neue Besitzer kann er selbst sein oder es handelt sich um einen Dienstprinzipal, der die Rolle „Dienstprinzipalbenutzer“ hat.
Klicken Sie im Azure Databricks-Arbeitsbereich auf das
Katalog zum Öffnen des Katalog-Explorers.
Wählen Sie die Streamingtabelle aus, die Sie aktualisieren möchten.
Suchen Sie in der rechten Randleiste unter
"Über diese Streamingtabelle" denBesitzer , und klicken Sie auf dasBleistiftsymbol zum Bearbeiten.Hinweis
Wenn Sie eine Meldung erhalten, die Sie angibt, den Besitzer zu aktualisieren, indem Sie " Als Benutzer ausführen" in den Pipelineeinstellungen ändern, wird die Streamingtabelle in Lakeflow Spark Declarative Pipelines und nicht in Databricks SQL definiert. Die Nachricht enthält einen Link zu den Pipeline-Einstellungen, über den Sie den Ausführen als-Benutzer ändern können.
Wählen Sie einen neuen Besitzer für die Streamingtabelle aus.
Besitzer verfügen automatisch über die
MANAGE- undSELECT-Berechtigungen für Streamingtabellen, die sie besitzen. Wenn Sie einen Dienstprinzipal als Besitzer für eine Streamingtabelle festlegen, die Sie besitzen, und Sie nicht explizit überSELECToderMANAGEPrivilegien für die Streamingtabelle verfügen, würde diese Änderung dazu führen, dass Sie jeglichen Zugriff auf die Streamingtabelle verlieren. In diesem Fall werden Sie aufgefordert, diese Berechtigungen explizit bereitzustellen.Wählen Sie sowohl „Verwalten erteilen“ als auch „Berechtigungen erteilen“ aus, um diese auf „Speichern“ zu setzen.
Klicken Sie auf "Speichern ", um den Besitzer zu ändern.
Der Besitzer der Streamingtabelle wird aktualisiert. Alle zukünftigen Updates werden mit der Identität des neuen Besitzers ausgeführt.
Wenn der Besitzer Berechtigungen für Quelltabellen verliert
Wenn Sie den Besitzer ändern und der neue Besitzer keinen Zugriff auf die Quelltabellen hat (oder SELECT Berechtigungen für die zugrunde liegenden Quelltabellen widerrufen werden), können Benutzer die Streamingtabelle weiterhin abfragen. Aber:
- Sie können die Streamingtabelle nicht
REFRESHverwenden. - Die nächste geplante Aktualisierung der Streamingtabelle schlägt fehl.
Wenn der Zugriff auf die Quelldaten verloren geht, werden Aktualisierungen verhindert, aber die vorhandene Streamingtabelle kann weiterhin sofort gelesen werden.
Dauerhaftes Löschen von Datensätzen aus einer Streamingtabelle
Von Bedeutung
Die Unterstützung für die REORG-Anweisung mit Streamingtabellen befindet sich in der Public Preview.
Hinweis
- Die Verwendung einer
REORGAnweisung mit einer Streamingtabelle erfordert Databricks Runtime 15.4 und höher. - Obwohl Sie die
REORGAnweisung mit einer beliebigen Streamingtabelle verwenden können, ist sie nur erforderlich, wenn Datensätze aus einer Streamingtabelle mit aktivierten Löschvektoren gelöscht werden. Der Befehl hat keine Auswirkung, wenn er mit einer Streamingtabelle ohne aktivierte Löschvektoren verwendet wird.
Um Datensätze physisch aus dem zugrunde liegenden Speicher für eine Streamingtabelle mit aktivierten Löschvektoren zu löschen, z. B. für die DSGVO-Compliance, müssen zusätzliche Schritte ausgeführt werden, um sicherzustellen, dass ein VACUUM Vorgang in den Daten der Streamingtabelle ausgeführt wird.
So löschen Sie Datensätze physisch aus dem zugrunde liegenden Speicher:
- Aktualisieren von Datensätzen oder Löschen von Datensätzen aus der Streamingtabelle.
- Führen Sie eine
REORGAnweisung für die Streamingtabelle aus, die denAPPLY (PURGE)Parameter angibt. Beispiel:REORG TABLE <streaming-table-name> APPLY (PURGE);. - Warten Sie, bis der Datenaufbewahrungszeitraum der Streamingtabelle überschritten wird. Der Standardzeitraum für die Datenaufbewahrung beträgt sieben Tage, kann jedoch mit der
delta.deletedFileRetentionDurationTabelleneigenschaft konfiguriert werden. Siehe Konfigurieren der Datenaufbewahrung für Zeitreiseabfragen. - Führen Sie
REFRESHfür die Streamingtabelle aus. Siehe Aktualisieren einer Streamingtabelle. Innerhalb von 24 Stunden nach demREFRESHVorgang werden die Pipelinewartungsaufgaben automatisch ausgeführt, einschließlich desVACUUMVorgangs, der erforderlich ist, um sicherzustellen, dass Datensätze endgültig gelöscht werden.
Überwachen der Ausführung mithilfe des Abfrageverlaufs
Sie können die Abfrageverlaufsseite verwenden, um auf Abfragedetails und Abfrageprofile zuzugreifen, die Ihnen helfen können, schlecht ausgeführte Abfragen und Engpässe in der Pipeline zu identifizieren, die zum Ausführen ihrer Streamingtabellenaktualisierungen verwendet werden. Eine Übersicht über die Art der informationen, die in Abfragehistorien und Abfrageprofilen verfügbar sind, finden Sie unter "Abfrageverlauf " und "Abfrageprofil".
Von Bedeutung
Dieses Feature befindet sich in der Public Preview. Arbeitsbereichsadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern. Siehe Verwalten von Azure Databricks-Vorschauen.
Alle Anweisungen im Zusammenhang mit Streamingtabellen werden im Abfrageverlauf angezeigt. Sie können das Dropdown-Menü "Statement" verwenden, um einen beliebigen Befehl auszuwählen und die zugehörigen Abfragen zu überprüfen. Auf alle CREATE Anweisungen folgt eine REFRESH Anweisung, die asynchron in einer Pipeline ausgeführt wird. Die REFRESH Anweisungen enthalten in der Regel detaillierte Abfragepläne, die Einblicke in die Optimierung der Leistung bieten.
Führen Sie die folgenden Schritte aus, um auf REFRESH Anweisungen in der Query History UI zuzugreifen:
- Klicken Sie auf das
Öffnen Sie in der linken Randleiste die Benutzeroberfläche für den Abfrageverlauf .
- Aktivieren Sie das Kontrollkästchen REFRESH im Dropdownfilter Anweisung.
- Klicken Sie auf den Namen der Abfrage-Anweisung, um Zusammenfassungsdetails wie die Dauer der Abfrage und aggregierte Metriken anzuzeigen.
- Klicken Sie auf " Abfrageprofil anzeigen", um das Abfrageprofil zu öffnen. Details zum Navigieren im Abfrageprofil finden Sie im Abfrageprofil .
- Optional können Sie die Verknüpfungen im Abschnitt "Abfragequelle " verwenden, um die zugehörige Abfrage oder Pipeline zu öffnen.
Sie können auch mithilfe von Links im SQL-Editor oder aus einem Notizbuch, das an ein SQL Warehouse angefügt ist, auf Abfragedetails zugreifen.
Zugreifen auf Streamingtabellen von externen Clients
Um auf Streamingtabellen von externen Delta Lake- oder Iceberg-Clients zuzugreifen, die offene APIs nicht unterstützen, können Sie den Kompatibilitätsmodus verwenden. Der Kompatibilitätsmodus erstellt eine schreibgeschützte Version Ihrer Streamingtabelle, auf die von jedem Delta Lake- oder Iceberg-Client zugegriffen werden kann.