Snowpipe Streaming – Klassische Architektur¶
Die klassische Architektur von Snowpipe Streaming bietet eine bewährte und effiziente Methode für die kontinuierliche, zeilenbasierte Datenaufnahme mit niedriger Latenz direkt in Snowflake-Tabellen. Diese Implementierung, die in der Dokumentation als Snowpipe Streaming Classic bezeichnet wird, ist nach wie vor eine zuverlässige Wahl für verschiedene Streaming-Workloads wie Anwendungsereignisdaten, Sensormesswerte aus dem Internet der Dinge (IoT) und Change Data Capture (CDC) mit niedriger Latenz.
Snowpipe Streaming Classic verwendet snowflake-ingest-java SDK und arbeitet ohne das explizite PIPE-Objektkonzept zur Verwaltung des Datenflusses, das im Mittelpunkt der High-Performance-Architektur von Snowpipe Streaming steht. Stattdessen werden in Snowpipe Streaming Classic Kanäle direkter anhand von Tabellen konfiguriert, was einen vertrauten und bewährten Ansatz für das Streamen von Daten in Snowflake bietet.
Software-Anforderungen¶
SDK: Verwendet das snowflake-ingest-sdk Version 4.X oder höher.
Java-Version: Erfordert Java 8 oder höher.
Zusätzliche Voraussetzung: Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files muss für Ihre Java 8-Umgebung installiert sein.
Die Dokumentation zu den Klassen und Schnittstellen für die klassische Architektur finden Sie unter Snowflake Ingest SDK API.
Informationen zu den Unterschieden zwischen der klassischen und der leistungsstarken Architektur finden Sie unter API-Unterschiede.
Kundenspezifische Clientanwendung¶
Die API erfordert eine kundenspezifische Java-Anwendungsschnittstelle, die Zeilen von Daten akzeptieren und auftretende Fehler behandeln kann. Sie müssen sicherstellen, dass die Anwendung ohne Unterbrechung ausgeführt wird und nach einem Ausfall wiederhergestellt werden kann. Für einen bestimmten Batch von Zeilen unterstützt API das Äquivalent von ON_ERROR = CONTINUE | SKIP_BATCH | ABORT.
CONTINUE: Fahren Sie fort, die zulässigen Datenzeilen zu laden, und geben Sie alle Fehler zurück.SKIP_BATCH: Überspringen Sie das Laden, und geben Sie alle Fehler zurück, wenn ein Fehler im gesamten Batch von Zeilen auftritt.ABORT(Standardeinstellung): Der gesamte Batch von Zeilen wird abgebrochen, und beim ersten Fehler wird eine Ausnahme ausgelöst.
Beim klassischen Snowpipe Streaming führt die Anwendung Schemavalidierungen unter Verwendung der Antwort der Methoden insertRow (einzelne Zeile) oder insertRows (Gruppe von Zeilen) durch. Informationen zur Fehlerbehandlung für die leistungsstarke Architektur finden Sie unter Fehlerbehandlung.
Laden von Daten in Apache Iceberg™-Tabellen¶
Mit Snowflake Ingest SDK ab Version 3.0.0 kann Snowpipe Streaming Daten in von Snowflake verwaltete Apache Iceberg-Tabellen einlesen. Das Snowpipe Streaming Ingest Java SDK unterstützt das Laden in Standard-Snowflake-Tabellen (nicht Iceberg) und in Iceberg-Tabellen.
Weitere Informationen dazu finden Sie unter Verwendung von Snowpipe Streaming Classic mit Apache Iceberg™-Tabellen.
Migration zu optimierten Dateien in der klassischen Architektur¶
Die API schreibt die Zeilen aus den Kanälen in Blobs des Cloudspeichers, die dann in die Zieltabelle übertragen werden. Zunächst werden die in eine Zieltabelle geschriebenen Streaming-Daten in einem temporären Zwischendateiformat gespeichert. In dieser Phase wird die Tabelle als „gemischte Tabelle“ betrachtet, da die partitionierten Daten in einer Mischung aus nativen Dateien und Zwischendateien gespeichert sind. Ein automatischer Hintergrundprozess migriert die Daten aus den aktiven Zwischendateien in native Dateien, die Abfrage- und DML-Operationen optimiert sind, je nach Bedarf.
Replikation in der klassischen Architektur¶
Snowpipe Streaming unterstützt Replikation und Failover von Snowflake-Tabellen, die von Snowpipe Streaming und den zugehörigen Kanal-Offsets befüllt werden, von einem Quellkonto zu einem Zielkonto über verschiedene Regionen und verschiedene Cloudplattformen hinweg.
Replikation wird für die High-Performance-Architektur nicht unterstützt.
Weitere Informationen dazu finden Sie unter Replikation und Snowpipe Streaming.