Gegevens spiegelen naar een clouddatawarehouse
Met spiegeltaken kunt u gegevens opvragen die zijn opgeslagen in uw Qlik Open Lakehouse vanuit Snowflake. Gegevens worden weergegeven in Snowflake, zonder dat ze worden gedupliceerd. Gespiegelde tabellen zorgen ervoor dat de opslag- en engineeringkosten minimaal zijn, en dat er één enkele bron van waarheid blijft bestaan.
Na het toevoegen van uw gegevens in een Qlik Open Lakehouse, kunt u uw gegevens spiegelen naar Snowflake met behulp van spiegeltabellen. Gegevens in Iceberg kunnen worden opgevraagd met een query-engine die Iceberg ondersteunt, zoals Amazon Athena. Spiegeltabellen zijn echter ideaal wanneer u de architectuur van een open Iceberg-lakehouse wilt implementeren, maar Snowflake als uw query-engine wilt blijven gebruiken. De gegevens spiegelen-taak automatiseert het proces om Iceberg-tabellen toegankelijk te maken in Snowflake door ze te bestempelen als externe tabellen. Snowflake verwijst naar de Iceberg-tabel als een externe tabel omdat het de tabel niet beheert, maar er alleen uit leest. Met externe tabellen kunt u uw Iceberg-gegevens in Snowflake opvragen zonder gegevens of het beheer van uw tabellen naar Snowflake te migreren.
Om gegevens te spiegelen, maakt u een extern volume in Snowflake dat verwijst naar de S3-bucket waar de Iceberg-tabellen zich bevinden en bijgewerkt worden door de opslagtaak. Vervolgens maakt u een Snowflake-catalogusintegratie die verwijst naar de gegevenscatalogus die door uw Qlik Open Lakehouse-project wordt gebruikt, bijvoorbeeld AWS Glue Data Catalog.
De spiegeltaak voert de nodige DDL-opdrachten uit om de externe tabellen in Snowflake aan te maken. De tabel (schema) wordt weergegeven in Snowflake, samen met de wijzigings- en geschiedenistabellen, maar als u naar de tabeldefinitie kijkt, wordt deze weergegeven als een weergave die bovenop de externe tabel is gemaakt. Snowflake-gebruikers kunnen de weergaven opvragen alsof de gegevens in hun Snowflake-omgeving zijn opgeslagen. Gespiegelde gegevens bieden hoge prestaties, omdat Qlik de gegevens blijft beheren en optimaliseren.
Vernieuwingsmechanisme
Snowflake verwijst naar de metagegevens die de laatste momentopname van de beschikbare gegevens binnen Iceberg weergeeft. Er zijn twee manieren om de metagegevens te vernieuwen:
-
Qlik-beheerd: deze optie vereist een actief Snowflake-warehouse en omvat bewaking en een gegevensvoorbeeld. Selecteer deze optie als u downstream transformaties wilt maken en de taak wilt bewaken en plannen. Qlik is eigenaar van de vernieuwingsbewerking voor metagegevens, zodat u deze handmatig kunt configureren, bijvoorbeeld om de 30 minuten. Deze optie is vooral relevant voor transformaties met meerdere tabellen, aangezien de metagegevens voor alle tabellen tegelijkertijd bijgewerkt worden. Hoewel u misschien iets van de realtimewinst verliest die de door Snowflake-beheerde vernieuwing biedt, behoudt u wel de consistentie tussen tabellen. Voor transformaties met meerdere tabellen kunt u het vernieuwen zo vaak als nodig activeren. Qlik raadt u aan om gebeurtenisgebaseerde activering in te stellen voor downstream transformatietaken die de geplande spiegeltaak volgen.
-
Snowflake-beheerd: een serverloze bewerking die de Snowpipe-infrastructuur gebruikt zonder een warehouse met rekenkrachtig nodig te hebben of te activeren. Deze optie wordt aanbevolen als u geen downstream transformaties nodig hebt. De vernieuwingsinterval wordt geconfigureerd wanneer u de Snowflake-catalogusintegratie maakt. Om de status van de automatische vernieuwing te controleren, raadpleegt u SYSTEM$AUTO_REFRESH_STATUS in Snowflake. Qlik verliest het eigenaarschap van het proces en kan dit soort taken niet controleren.
Elke spiegeltaak binnen een project kan worden geconfigureerd met zijn eigen vernieuwingsmechanisme: als u twee spiegeltaken maakt, kan de ene de door Qlik beheerde vernieuwing gebruiken en de andere de door Snowflake-beheerde vernieuwing.
Schema-evolutie
Als u handmatig kolommen of tabellen toevoegt aan of verwijdert uit de opslagtaak of indirect uit de tussenopslagtaak, worden de wijzigingen automatisch weergegeven in het ontwerp van de spiegeltaak. U moet de taak voorbereiden om de wijzigingen van de gespiegelde tabel toe te passen. Als schema-evolutie is ingeschakeld in de instellingen van de spiegel- en opslagtaken, worden alle schemawijzigingen die automatisch worden gedetecteerd in de opslagtaak toegepast op de spiegeltabellen.
Vereisten
Een gegevens spiegelen-taak kan alleen worden toegevoegd nadat een opslagtaak is gemaakt in een Qlik Open Lakehouse-project. Een opslagtaak kan meerdere gegevens spiegelen-taken hebben. Een gegevens spiegelen-taak kan slechts aan één opslagtaak worden gekoppeld.
Om uw gegevens naar Snowflake te spiegelen, hebt u het volgende nodig:
-
Een verbinding met de Snowflake-database waarin u uw gegevens wilt spiegelen. Optioneel kunt u een nieuwe verbinding maken tijdens het maken van de spiegeltaak. De vereisten vindt u in de instructies voor de verbinding met Snowflake.
-
Een Snowflake extern volume. Hierdoor krijgt Snowflake beperkte toegang tot uw S3-locatie. Zie Een extern volume voor Amazon S3 configureren om het volume te configureren.
-
Een AWS Glue Data Catalog-integratie. Hierdoor kan Snowflake verbinding maken met gegevens in de Iceberg open tabelindeling in uw objectstore. Zie Een catalogusintegratie configureren voor AWS Glue om een catalogusintegratie te configureren.
Een gegevens spiegelen-taak maken
Om gegevens naar Snowflake te spiegelen, doet u het volgende:
-
Open het project dat de opslagtaak bevat voor de gegevens die u wilt spiegelen.
-
Klik op
Meer acties van de opslagtaak. Selecteer Gegevens spiegelen en configureer deze:
-
Naam: voer een naam in voor uw spiegeltaak.
-
Beschrijving: beschrijf optioneel het doel van de taak.
-
Verbinding:
-
Om een bestaande verbinding te gebruiken, klikt u op Selecteren om het dialoogvenster Beveiligde bronverbinding te openen. Selecteer de Ruimte waar uw verbinding zich bevindt en selecteer vervolgens de verbinding. Klik op Bewerken om de verbindingseigenschappen te wijzigen.
-
Om een nieuwe verbinding te maken, klikt u op Verbinding maken om het dialoogvenster Verbinding maken te openen en volgt u de instructies.
-
-
Database: voer de naam in van de database waarin u de gegevens wilt spiegelen.
-
Snowflake extern volume: voer de naam in van het externe volume dat in Snowflake is gemaakt.
-
Snowflake-catalogusintegratie: voer de naam in van de catalogusintegratie die in Snowflake is gemaakt.
-
Selecteer hoe u uw gegevens in Snowflake wilt laten vernieuwen:
-
Qlik-beheerd: selecteer deze optie als u downstream transformaties wilt maken. Dit vereist een actief Snowflake-warehouse en wordt bewaakt door Qlik.
-
Snowflake-beheerd: selecteer deze optie als u geen downstream transformaties wilt uitvoeren. Een Snowflake-warehouse is niet vereist en wordt daarom niet bewaakt door Qlik. Dit wordt beheerd en gecontroleerd in Snowflake.
-
Maak de spiegeltaak om deze toe te voegen aan de opslagtaak in uw pijplijn.
-
Klik op
Meer acties van de spiegeltaak en selecteer Openen. Zorg ervoor dat u de ontwerpweergave gebruikt.
-
Om een subset van de beschikbare gegevensverzamelingen te selecteren, klikt u op Gegevensbron selecteren en verwijdert u ongewenste gegevensverzamelingen.
-
Klik op Voorbereiden om de externe tabel in Snowflake aan te maken en de gegevens te spiegelen.
Transformaties uitvoeren
Als u uw gegevens moet transformeren, kunt u een Snowflake-project maken en een gegevens spiegelen-taak binnen uw Qlik Open Lakehouse-project als bron gebruiken. Zie Projectoverschrijdende pijplijnen bouwen om een transformatietaak te maken met gegevens uit een bestaand project.
Een gegevens spiegelen-taak verwijderen
Wanneer u een spiegeltaak verwijdert, worden de externe tabellen en weergaven verwijderd uit Snowflake en zijn ze niet langer beschikbaar voor query's. Een opslagtaak kan niet worden verwijderd terwijl een spiegeltaak ervan leest.
Doe het volgende om een gegevens spiegelen-taak te verwijderen:
-
Klik in de gegevens spiegelen-taak die u wilt verwijderen op het menu
Meer acties van de taak en selecteer Verwijderen. -
Klik in het bevestigingsvenster op Verwijderen.