Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Spiegeln von Daten in einem Cloud Data Warehouse

Mit Spiegelaufgaben können Sie von Snowflake aus Daten abfragen, die in Ihrem Qlik Open Lakehouse gespeichert sind. Die Daten werden in Snowflake ohne Duplizierung wiedergegeben. Gespiegelte Tabellen sorgen dafür, dass die Speicher- und Entwicklungskosten minimal sind und eine einzige „Single Source of Truth“ erhalten bleibt.

Nach dem Onboarding Ihrer Daten in ein Qlik Open Lakehouse können Sie die Daten mit Hilfe von Spiegeltabellen in Snowflake spiegeln. Die Daten in Iceberg können mit einer Abfrage-Engine abgefragt werden, die Iceberg nativ unterstützt, wie z. B. Amazon Athena. Spiegeltabellen sind jedoch ideal, wenn Sie die offene Iceberg-Lakehouse-Architektur implementieren, aber weiterhin Snowflake als Abfrage-Engine verwenden möchten. Die Spiegeldatenaufgabe automatisiert den Prozess, Iceberg-Tabellen in Snowflake zugänglich zu machen, indem sie als externe Tabellen deklariert werden. Snowflake bezeichnet die Iceberg-Tabelle als externe Tabelle, weil es die Tabelle nicht verwaltet, sondern nur aus ihr liest. Externe Tabellen ermöglichen es Ihnen, Ihre Iceberg-Daten in Snowflake abzufragen, ohne Daten oder die Verwaltung Ihrer Tabellen in Snowflake zu migrieren.

Um Daten zu spiegeln, erstellen Sie in Snowflake ein externes Volume, das auf den S3-Bucket verweist, in dem sich die Iceberg-Tabellen befinden und von der Speicheraufgabe aktualisiert werden. Anschließend erstellen Sie eine Snowflake-Katalogintegration, die auf den von Ihrem Qlik Open Lakehouse-Projekt verwendeten Datenkatalog verweist, z. B. AWS Glue Data Catalog.

Die Spiegelaufgabe führt die erforderlichen DDL-Anweisungen aus, um die externen Tabellen in Snowflake zu erstellen. Die Tabelle (Schema) wird in Snowflake zusammen mit den Änderungs- und Verlaufstabellen angezeigt, aber wenn Sie sich die Tabellendefinition ansehen, wird sie als eine Ansicht angezeigt, die über der externen Tabelle erstellt wurde. Snowflake-Benutzer können die Ansichten so abfragen, als ob die Daten in ihrer Snowflake-Umgebung gespeichert wären. Gespiegelte Daten bieten eine hohe Leistung, da Qlik die Daten weiterhin verwaltet und optimiert.

Aktualisierungsmechanismus

Snowflake verweist auf die Metadaten, die den neuesten Schnappschuss der verfügbaren Daten in Iceberg wiedergeben. Es gibt zwei Möglichkeiten, die Metadaten zu aktualisieren:

  1. Von Qlik verwaltet: Diese Option erfordert ein aktives Snowflake-Warehouse und beinhaltet Überwachung und Datenvorschau. Wählen Sie diese Option, wenn Sie nachgelagerte Umwandlungen erstellen und die Aufgabe überwachen und planen möchten. Qlik besitzt den Vorgang der Metadatenaktualisierung, sodass Sie diesen manuell konfigurieren können, z. B. so, dass er alle 30 Minuten ausgeführt wird. Diese Option ist besonders wichtig für Umwandlungen mit mehreren Tabellen, da die Metadaten für alle Tabellen gleichzeitig aktualisiert werden. Sie verlieren zwar einen Teil des Echtzeitgewinns, den die von Snowflake verwaltete Aktualisierung bietet, aber Sie behalten die Konsistenz zwischen den Tabellen bei. Bei Umwandlungen mit mehreren Tabellen können Sie die Aktualisierung so oft wie nötig auslösen. Qlik empfiehlt, dass Sie die ereignisbasierte Auslösung für nachgelagerte Umwandlungsaufgaben festlegen, die der geplanten Spiegelaufgabe folgen.

  2. Von Snowflake verwaltet: Ein serverloser Vorgang, der die Snowpipe-Infrastruktur nutzt, ohne ein Berechnungs-Warehouse zu benötigen oder zu aktivieren. Diese Option wird empfohlen, wenn Sie keine nachgelagerten Umwandlungen benötigen. Das Aktualisierungsintervall wird konfiguriert, wenn Sie die Snowflake-Katalogintegration erstellen. Um den Status der automatischen Aktualisierung zu überwachen, fragen Sie in Snowflake den Wert SYSTEM$AUTO_REFRESH_STATUS ab. Qlik ist nicht mehr Besitzer des Prozesses und kann Aufgaben dieses Typs nicht überwachen.

Jede Spiegelaufgabe innerhalb eines Projekts kann mit einem eigenen Aktualisierungsmechanismus konfiguriert werden: Wenn Sie zwei Spiegelaufgaben erstellen, kann eine die von Qlik verwaltete Aktualisierung verwenden und die andere die von Snowflake verwaltete Aktualisierung.

Schemaentwicklung

Wenn Sie manuell Spalten oder Tabellen aus der Speicheraufgabe oder indirekt aus der Bereitstellungsaufgabe hinzufügen oder entfernen, werden die Änderungen automatisch im Design der Spiegelaufgabe berücksichtigt. Sie müssen die Aufgabe vorbereiten, um die Änderungen auf die gespiegelte Tabelle anzuwenden. Wenn die Schemaentwicklung in den Einstellungen der Spiegel- und Speicheraufgaben aktiviert ist, werden alle Schemaänderungen, die in der Speicheraufgabe automatisch erkannt werden, auf die Spiegeltabellen angewendet.

Voraussetzungen

Eine Spiegeldatenaufgabe kann erst hinzugefügt werden, nachdem eine Speicheraufgabe in einem Qlik Open Lakehouse-Projekt erstellt wurde. Eine Speicheraufgabe kann mehrere Spiegeldatenaufgaben haben. Eine Spiegeldatenaufgabe kann nur mit einer Speicheraufgabe verknüpft werden.

Um Ihre Daten in Snowflake zu spiegeln, benötigen Sie:

  • Eine Verbindung zu der Snowflake-Datenbank, in die Sie Ihre Daten spiegeln möchten. Optional können Sie während der Erstellung der Spiegelaufgabe eine neue Verbindung erstellen. Die Voraussetzungen finden Sie in der Anleitung zur Verbindung mit Snowflake.

  • Ein externes Snowflake-Volume. Dadurch erhält Snowflake einen eingeschränkten Zugriff auf Ihren S3-Speicherort. Informationen zum Konfigurieren des Volumes finden Sie unter Konfigurieren eines externen Volumes für Amazon S3.

  • Eine AWS Glue Data Catalog-Integration. Dadurch kann Snowflake eine Verbindung zu Daten herstellen, die im offenen Iceberg-Tabellenformat in Ihrem Objektspeicher gespeichert sind. Informationen zum Konfigurieren einer Katalogintegration finden Sie unter Konfigurieren einer Katalogintegration für AWS Glue.

Erstellen einer Spiegeldatenaufgabe

Um Daten an Snowflake zu spiegeln, gehen Sie wie folgt vor:

  1. Öffnen Sie das Projekt, das die Speicheraufgabe für die Daten enthält, die Sie spiegeln möchten.

  2. Klicken Sie auf Weitere Aktionen für die Speicheraufgabe. Wählen Sie Daten spiegeln aus und konfigurieren Sie sie:

    • Name: Geben Sie einen Namen für Ihre Spiegelaufgabe ein.

    • Beschreibung: Optional können Sie den Zweck der Aufgabe beschreiben.

    • Verbindung

      • Um eine bestehende Verbindung zu verwenden, klicken Sie auf Auswählen, um das Dialogfeld Sichere Quellverbindung zu öffnen. Wählen Sie den Bereich aus, in dem sich Ihre Verbindung befindet, und wählen Sie dann die Verbindung aus. Klicken Sie auf Bearbeiten, um die Eigenschaften der Verbindung zu ändern.

      • Um eine neue Verbindung zu erstellen, klicken Sie auf Verbindung erstellen, um das Dialogfeld Verbindung erstellen zu öffnen, und folgen Sie den Anweisungen.

    • Datenbank: Geben Sie den Namen der Datenbank ein, in der Sie die Daten spiegeln möchten.

    • Externes Snowflake-Volume: Geben Sie den Namen des in Snowflake erstellten externen Volumes ein.

    • Snowflake-Katalogintegration: Geben Sie den Namen der in Snowflake erstellten Katalogintegration ein.

  3. Wählen Sie aus, wie Sie Ihre Daten in Snowflake aktualisieren möchten:

    • Von Qlik verwaltet: Wählen Sie diese Option, wenn Sie nachgelagerte Umwandlungen erstellen möchten. Dies erfordert ein aktives Snowflake Warehouse und wird von Qlik überwacht.

    • Von Snowflake verwaltet: Wählen Sie diese Option, wenn Sie keine nachgelagerten Umwandlungen erstellen möchten. Ein Snowflake-Warehouse ist nicht erforderlich und wird daher nicht von Qlik überwacht. Dieser Vorgang wird in Snowflake verwaltet und überwacht.

  4. Erstellen Sie die Spiegelaufgabe, um sie der Speicheraufgabe in Ihrer Pipeline hinzuzufügen.

  5. Klicken Sie auf Weitere Aktionen für die Spiegelaufgabe und wählen Sie Öffnen aus. Vergewissern Sie sich, dass Sie die Ansicht Design anzeigen.

  6. Um eine Teilmenge der verfügbaren Datensätze auszuwählen, klicken Sie auf Quelldaten auswählen und entfernen Sie alle unerwünschten Datensätze.

  7. Klicken Sie auf Vorbereiten, um die externe Tabelle in Snowflake zu erstellen und die Daten zu spiegeln.

Durchführen von Umwandlungen

Wenn Sie Ihre Daten umwandeln müssen, können Sie ein Snowflake-Projekt erstellen und eine Spiegeldatenaufgabe innerhalb Ihres Qlik Open Lakehouse-Projekts als Quelle verwenden. Wie Sie eine Umwandlungsaufgabe unter Verwendung von Daten aus einem bestehenden Projekt erstellen, erfahren Sie unter Erstellen projektübergreifender Pipelines.

Löschen einer Spiegeldatenaufgabe

Wenn Sie eine Spiegelaufgabe löschen, werden die externen Tabellen und Ansichten aus Snowflake gelöscht und stehen nicht mehr für Abfragen zur Verfügung. Eine Speicheraufgabe kann nicht gelöscht werden, während eine Spiegelaufgabe aus ihr liest.

Um eine Spiegeldatenaufgabe zu löschen, gehen Sie wie folgt vor:

  1. Klicken Sie für die Spiegeldatenaufgabe, die Sie löschen möchten, auf das Menü Weitere Aktionen und wählen Sie Löschen aus.

  2. Klicken Sie im Bestätigungsdialogfeld auf Löschen.

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!