Einführung in Datenpipelines

Datenpipelines automatisieren viele der manuellen Schritte bei der Transformation und Optimierung des kontinuierlichen Ladens von Daten. Häufig werden die „Rohdaten“ zur Zwischenspeicherung zunächst vorübergehend in eine Staging-Tabelle geladen und dann mithilfe einer Reihe von SQL-Anweisungen transformiert, bevor sie in die Zielberichtstabellen eingefügt werden. Der effizienteste Workflow für diesen Prozess besteht darin, nur neue oder geänderte Daten zu transformieren.

Unter diesem Thema:

Funktionen, die in kontinuierlichen Daten-Pipelines enthalten sind

Snowflake bietet die folgenden Funktionen, um kontinuierliche Daten-Pipelines zu ermöglichen:

Kontinuierliches Laden von Daten

Zu den Optionen für das kontinuierliche Laden von Daten gehören:

Kontinuierlicher Datentransformation

Dynamische Tabellen sind deklarative, automatisierte Datenpipelines, die das Data Engineering vereinfachen und eine einfache Möglichkeit zur Datentransformation bieten. Anstatt die Schritte für die Datentransformation als eine Abfolge von Aufgaben zu definieren, können Sie einfach den Endzustand der Transformation definieren.

Weitere Informationen dazu finden Sie unter Dynamische Tabellen.

Nachverfolgung von Änderungsdaten

Ein Stream-Objekt zeichnet das Delta der Change Data Capture (CDC)-Informationen für eine Tabelle (z. B. eine Stagingtabelle) auf, einschließlich Einfügungen und anderer Data Manipulation Language (DML)-Änderungen. Ein Stream ermöglicht das Abfragen und Verbrauchen einer Reihe von Änderungen an einer Tabelle auf Zeilenebene zwischen zwei Transaktionszeitpunkten.

In einer kontinuierlichen Daten-Pipeline wird in Tabellen-Streams aufgezeichnet, wann Staging-Tabellen und alle nachgelagerten Tabellen mit Daten aus Geschäftsanwendungen gefüllt werden, wobei das kontinuierliche Laden von Daten verwendet wird, und wann sie mit SQL-Anweisungen weiter verarbeitet werden können.

Weitere Informationen dazu finden Sie unter Änderungsnachverfolgung mit Tabellenstreams.

Wiederkehrende Aufgaben

Ein Aufgaben-Objekt definiert einen wiederkehrenden Zeitplan für die Ausführung einer SQL-Anweisung, einschließlich Anweisungen, die gespeicherte Prozeduren aufrufen. Aufgaben können zur sukzessiven Ausführung verkettet werden, um eine komplexere periodische Verarbeitung zu erlauben.

Aufgaben können optional Tabellen-Streams verwenden, um eine bequeme Möglichkeit zum kontinuierlichen Verarbeiten neuer oder geänderter Daten zu bieten. Eine Aufgabe kann neue oder geänderte Zeilen, die ein Stream ausgibt, transformieren. Bei jeder geplanten Ausführung einer Aufgabe wird überprüft, ob ein Stream Änderungsdaten für eine Tabelle enthält (mithilfe von SYSTEM$STREAM_HAS_DATA), und ob die Änderungsdaten entweder verbraucht werden oder der aktuelle Lauf übersprungen wird, wenn keine Änderungsdaten vorhanden sind.

Benutzer können eine einfache baumartige Aufgabenstruktur definieren, die aufeinanderfolgende SQL-Anweisungen ausführt, um Daten zu verarbeiten und in verschiedene Zieltabellen zu verschieben.

Weitere Informationen dazu finden Sie unter Ausführen von SQL-Anweisungen für einen Zeitplan mithilfe von Aufgaben.