Gegevens spiegelen naar een clouddatawarehouse | Qlik Cloud Help
Ga naar hoofdinhoud Ga naar aanvullende inhoud

Gegevens spiegelen naar een clouddatawarehouse

Met spiegeltaken kunt u gegevens die zijn opgeslagen in uw Qlik Open Lakehouse opvragen vanuit uw clouddatawarehouses. Gegevens worden in uw warehouse weerspiegeld zonder duplicatie. Gespiegelde tabellen zorgen ervoor dat de opslag- en engineeringkosten minimaal zijn en behouden één enkele bron van waarheid.

Na het onboarden van uw gegevens naar een Qlik Open Lakehouse, kunt u uw gegevens spiegelen naar uw clouddatawarehouse met behulp van spiegeltabellen. Gegevens in Iceberg kunnen worden opgevraagd met een query-engine die Iceberg systeemeigen ondersteunt, zoals Amazon Athena. Spiegeltabellen zijn echter ideaal wanneer u de open Iceberg-lakehouse-architectuur wilt implementeren en uw query-engine van het datawarehouse wilt blijven gebruiken. De taak Gegevens spiegelen automatiseert het proces om Iceberg-tabellen toegankelijk te maken door ze te declareren als externe tabellen en weergaven in uw datawarehouse. Het datawarehouse verwijst naar de Iceberg-tabel als een externe weergave omdat het de tabel niet beheert, maar er alleen uit leest. Met externe tabellen en weergaven kunt u uw Iceberg-gegevens in uw datawarehouse opvragen zonder gegevens te migreren of het beheer van uw tabellen over te dragen aan uw datawarehouse.

De spiegeltaak voert de benodigde DDL-instructies uit om de externe tabellen en weergaven te maken. De tabel (het schema) wordt weergegeven in het datawarehouse, samen met de wijzigings- en geschiedenistabellen, maar als u naar de tabeldefinitie kijkt, wordt deze weergegeven als een weergave die boven op de externe tabel is gemaakt. Gegevensconsumenten kunnen de weergaven opvragen alsof de gegevens zijn opgeslagen in hun datawarehouse-omgeving. Gespiegelde gegevens bieden hoge prestaties, omdat Qlik de gegevens blijft beheren en optimaliseren.

De volgende datawarehouses worden ondersteund:

  • Amazon Redshift

  • Databricks

  • Snowflake

Spiegelen naar meerdere datawarehouses

Een enkele dataset kan worden gespiegeld naar meerdere clouddatawarehouses. De volgende afbeelding laat zien hoe een Qlik Open Lakehouse-pijplijnproject kan worden gebruikt om gegevens te spiegelen naar Amazon Redshift en Snowflake:

  • De pijplijn neemt gegevens op uit een MySQL-database met behulp van de verbinding MySQL QCDI-BETA.

  • De Lake-tussenopslagtaak, EnergyGen_Lake_landing neemt de onbewerkte gegevens op in een Amazon S3-bucket.

  • Vervolgens kopieert de opslagtaak EnergyGen_Storage de gegevens naar een S3-locatie om de gegevens op te slaan in Apache Iceberg-indeling.

  • De taak Gegevens spiegelen, Redshift Mirror, maakt de benodigde weergaven om de gegevens op te vragen vanuit Amazon Redshift en vernieuwt de gegevens automatisch.

  • De transformatietaak, Redshift_Energygen_Silver, wordt gebruikt om de gespiegelde gegevens in Amazon Redshift te transformeren en te consumeren.

  • Er wordt een tweede taak Gegevens spiegelen, Snowflake Mirror, toegevoegd om de benodigde weergaven te maken waarmee de gegevens vanuit Snowflake kunnen worden opgevraagd. De spiegeltaak maakt gebruik van het door Qlik-managed refresh-mechanisme, dat downstream-transformaties mogelijk maakt.

  • De transformatietaak, Snowflake_Energygen_Data_Products, wordt gebruikt om de gegevens in Snowflake te transformeren en te consumeren.

Vernieuwingsmechanisme

Het vernieuwingsmechanisme dat voor u beschikbaar is, hangt af van uw clouddatawarehouse-provider, zoals hieronder beschreven.

Amazon Redshift

Gegevens die naar Amazon Redshift zijn gespiegeld, worden automatisch vernieuwd en het is niet nodig om de taak te plannen of uit te voeren. Alle tabel- en weergavenamen worden in Amazon Redshift omgezet naar kleine letters, omdat Qlik Open Lakehouse geen hoofdlettergevoelige objectnamen (database, schema, tabel of kolom) ondersteunt.

Snowflake

Snowflake verwijst naar de metagegevens die de nieuwste snapshot van de beschikbare gegevens binnen Iceberg weerspiegelen. Er zijn twee manieren om de metagegevens te vernieuwen:

  1. door Qlik beheerd: Deze optie vereist een actief Snowflake-warehouse en omvat monitoring en gegevensvoorbeeld. Selecteer deze optie wanneer u downstream-transformaties wilt maken en de taak wilt controleren en plannen. Qlik is eigenaar van de bewerking voor het vernieuwen van metagegevens, dus u kunt dit handmatig configureren, bijvoorbeeld om elke 30 minuten uit te voeren. Deze optie is met name relevant voor transformaties van meerdere tabellen, omdat de metagegevens voor alle tabellen tegelijkertijd worden bijgewerkt. Hoewel u mogelijk een deel van de realtime winst verliest die de door Snowflake beheerde vernieuwing biedt, behoudt u de consistentie tussen tabellen. Voor transformaties van meerdere tabellen kunt u de vernieuwing zo vaak als nodig activeren. Qlik raadt aan om gebeurtenisgebaseerde activering in te stellen op downstream-transformatietaken die volgen op de geplande spiegeltaak.

  2. door Snowflake beheerd: Een serverloze bewerking die gebruikmaakt van de Snowpipe-infrastructuur zonder dat een compute-warehouse vereist of geactiveerd hoeft te worden. Deze optie wordt aanbevolen wanneer u geen downstream-transformaties nodig hebt. Het vernieuwingsinterval wordt geconfigureerd wanneer u de Snowflake-catalogusintegratie maakt. Om de status van de automatische vernieuwing te controleren, voert u een query uit op SYSTEM$AUTO_REFRESH_STATUS in Snowflake. Qlik verliest het eigendom van het proces en kan dit type taken niet controleren.

InformatieElke spiegeltaak binnen een Snowflake-project kan worden geconfigureerd met een eigen vernieuwingsmechanisme: als u twee spiegeltaken maakt, kan de ene de door Qlik beheerde vernieuwing gebruiken en de andere de door Snowflake beheerde vernieuwing.
InformatieAls u probeert de spiegeluitvoer op te vragen of te gebruiken in transformaties en een interne serverfout ziet (zie onderstaand voorbeeld), dan zijn uw Iceberg-metagegevens niet synchroon met de externe catalogus. Om dit probleem op te lossen, voert u de spiegeltaak uit om de Iceberg-metagegevens te vernieuwen.

The parquet file 'tg_open_lakehouse/bronze/sales/tables/tg_sales_ingestion_bronze__internal.order_details__internal/data/hdr__scd_partition=asset_state/2025_09_12_00_37_asset_state_apply-4bcbb2eb-4ad3-4d88-bea6-ea611576624e.parquet' for table 'OPENLAKEHOUSE."snowflake_mirror__internal"."ext__order_details"' was inaccessible.

Databricks

De externe catalogus van Databricks leest Iceberg-metagegevens rechtstreeks uit AWS Glue. Nadat u de spiegeltaak hebt uitgevoerd, is de nieuwste gegevenssnapshot beschikbaar voor query's in Databricks zonder aanvullende vernieuwingsstappen.

Vereisten

De volgende vereisten zijn van toepassing op alle ondersteunde datawarehouse-doelen:

  • Een taak Gegevens spiegelen kan pas worden toegevoegd nadat een opslagtaak is gemaakt in een Qlik Open Lakehouse-project.

  • Een opslagtaak kan meerdere taken Gegevens spiegelen hebben, elk gericht op een ander datawarehouse.

  • Een taak Gegevens spiegelen kan slechts aan één opslagtaak worden gekoppeld.

  • Om transformaties uit te voeren, maakt u een datawarehouse-project en gebruikt u de taak Gegevens spiegelen als bron. Het project en de spiegeltaak moeten hetzelfde datawarehouse-platform gebruiken, bijvoorbeeld Redshift.

Om uw gegevens te spiegelen, configureert u de instellingen voor uw doeldatawarehouse.

Amazon Redshift

  • Een verbinding met de datawarehouse-database waarnaar u uw gegevens wilt spiegelen. Optioneel kunt u een nieuwe verbinding maken tijdens het maken van de spiegeltaak. Zie voor meer informatie Amazon Redshift.

  • Een IAM-rol aangenomen door Redshift met leesrechten voor de Glue Data Catalog. Het volgende script biedt de benodigde machtigingen om toegang te krijgen tot uw catalogus. Zorg ervoor dat u <ICEBERG_BUCKET_NAME> vervangt door uw bucketnaam:

    {
    	 "Version": "2012-10-17",
            "Statement": [
                 {
                	 "Effect": "Allow",
                    "Action": [
                        "glue:GetDatabase",
                        "glue:GetDatabases",
                        "glue:GetTable",
                        "glue:GetTables",
                        "glue:GetPartition",
                        "glue:GetPartitions"
                    ],
                    "Resource": "*"
                 },
                 {
                    "Effect": "Allow",
                    "Action": [
                        "s3:GetObject",
                        "s3:ListBucket"
                    ],
                    "Resource": [
                        "arn:aws:s3:::<ICEBERG_BUCKET_NAME>",
                        "arn:aws:s3:::<ICEBERG_BUCKET_NAME>/*"
                    ]
                }
    }

    Deze rol vereist de volgende vertrouwensrelatie:

    {
    	"Version": "2012-10-17",
            "Statement": [
                 {
                     "Effect": "Allow",
                     "Principal": {
                           "Service": "redshift-serverless.amazonaws.com"
                      },
                     "Action": "sts:AssumeRole"
                 },
                 {
                     "Effect": "Allow",
                     "Principal": {
                        "Service": "redshift.amazonaws.com"
                        },
                        "Action": "sts:AssumeRole"
                 }
          ]
    }

    InformatieZie voor meer informatie IAM-beleid voor Amazon Redshift Spectrum.
  • Een extern schema in Redshift dat naar de database van de opslagtaak verwijst. U moet een extern Redshift-schema maken door de opdracht CREATE EXTERNAL SCHEMA uit te voeren en naar de interne database van de bron-Iceberg-opslagtaak te verwijzen. Externe consumenten moeten consumeren uit de consumptieweergaven van het spiegeltaakschema. Gebruik de volgende syntaxis om uw externe schema te maken, waarbij u ervoor zorgt dat de eigenschap DATABASE de database is die door de opslagtaak is gemaakt:


    CREATE EXTERNAL SCHEMA <local_schema_name>
    FROM DATA CATALOG
    DATABASE '<database_name>'
    IAM_ROLE 'arn:aws:iam::<AWS account-id>:role/<role-name>'
    REGION '<aws-region>'

Snowflake

  • Een verbinding met de datawarehouse-database waarnaar u uw gegevens wilt spiegelen. Optioneel kunt u een nieuwe verbinding maken tijdens het maken van de spiegeltaak. Zie voor meer informatie Snowflake.

  • Een extern Snowflake-volume. Dit verleent Snowflake beperkte toegang tot uw S3-locatie. Zie Een extern volume configureren voor Amazon S3 om het volume te configureren.

  • Een AWS Glue Data Catalog-integratie. Hiermee kan Snowflake verbinding maken met gegevens die in de open tabelindeling van Iceberg in uw objectopslag worden bewaard. Zie Een catalogusintegratie configureren voor AWS Glue om een catalogusintegratie te configureren.

Databricks

  • Een verbinding met de Databricks-werkruimte waarnaar u uw gegevens wilt spiegelen. Optioneel kunt u een nieuwe verbinding maken tijdens het maken van de spiegeltaak. Zie voor meer informatie Databricks.

  • De volgende objecten moeten in AWS en Databricks worden geconfigureerd voordat u de spiegeltaak maakt:

    • Een Glue-verbinding in AWS. Hiermee kan Databricks metagegevensquery's federeren via de AWS Glue Data Catalog. Zie voor meer informatie AWS Glue > Verbinding maken met gegevens.

    • Een aan AWS gekoppelde servicereferentie in Databricks Unity Catalog. Dit verleent Databricks de machtigingen die vereist zijn om toegang te krijgen tot AWS-services. Zie voor meer informatie Databricks > Servicereferenties maken.

    • Een externe locatie in Databricks Unity Catalog die naar uw S3-bucket verwijst. Dit machtigt Databricks om Iceberg-gegevens te lezen op het S3-pad dat door de opslagtaak wordt beheerd. Zie voor meer informatie Databricks > Externe locaties.

    • Een externe catalogus in Databricks Unity Catalog. Hiermee worden de in AWS Glue geregistreerde Iceberg-tabellen weergegeven als opvraagbare tabellen in Databricks. Zie voor meer informatie Databricks > Externe catalogi.

Een taak Gegevens spiegelen maken

Ga als volgt te werk om gegevens naar uw datawarehouse te spiegelen:

  1. Open het project dat de opslagtaak bevat voor de gegevens die u wilt spiegelen.

  2. Klik op Meer acties op de opslagtaak. Selecteer Gegevens spiegelen en configureer deze:

    • Naam: Voer een naam in voor uw spiegeltaak.

    • Beschrijving: Beschrijf optioneel het doel van de taak.

    • Datawarehouse: Selecteer uw doeldatawarehouse.

    • Verbinding

      • Om een bestaande verbinding te gebruiken, klikt u op Selecteren om het dialoogvenster Veilige bronverbinding te openen. Kies 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 waarnaar u de gegevens wilt spiegelen.

    • Om te spiegelen naar Amazon Redshift:

      • Extern schema: Voer de naam in van het schema waarin de weergaven worden gemaakt.

        InformatieAlle tabel- en weergavenamen worden in Amazon Redshift omgezet naar kleine letters.
    • Om te spiegelen naar Snowflake:

      • Extern Snowflake-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 wilt vernieuwen in Snowflake:

        • door Qlik beheerd: Selecteer deze optie als u downstream-transformaties wilt maken. Dit vereist een actief Snowflake-warehouse en wordt gecontroleerd door Qlik.

        • door Snowflake beheerd: Selecteer deze optie wanneer u geen downstream-transformaties wilt uitvoeren. Een Snowflake-warehouse is niet vereist en wordt daarom niet gecontroleerd door Qlik. Dit wordt beheerd en gecontroleerd in Snowflake.

    • Om te spiegelen naar Databricks:

      • Databricks-catalogus: Voer de naam in van de Databricks Unity Catalog. Dit is meestal hive_metastore.

      • Externe Databricks-catalogus: Voer de naam in van de externe Databricks-catalogus die is verbonden met AWS Glue.

  3. Klik op OK om de spiegeltaak te maken en toe te voegen aan de opslagtaak in uw pijplijn.

  4. Klik op Meer acties op de spiegeltaak en selecteer Openen. Zorg ervoor dat u de weergave Ontwerp weergeeft.

  5. Om een subset van de beschikbare datasets te selecteren, klikt u op Brongegevens selecteren en verwijdert u eventuele ongewenste datasets.

  6. Klik op Voorbereiden om de externe objecten te maken en de gegevens te spiegelen.

Transformaties uitvoeren

Als u uw gegevens moet transformeren, kunt u een Redshift-, Snowflake- of Databricks-project maken en een taak Gegevens spiegelen binnen uw Qlik Open Lakehouse-project als bron gebruiken. De bron van de spiegeltaak moet hetzelfde clouddatawarehouse-platform zijn als het project. Wanneer u bijvoorbeeld een Amazon Redshift-project maakt om transformaties uit te voeren, moet u een Amazon Redshift-taak Gegevens spiegelen als bron gebruiken.

InformatieZie Projectoverschrijdende pijplijnen bouwen om een transformatietaak te maken met behulp van gegevens uit een bestaand project.

Taakinformatie weergeven

Klik op Informatie in de menubalk om taakinformatie weer te geven, zoals:

  • Eigenaar

  • Ruimte

  • Gegevensplatform

  • Project-id

  • Runtime-id gegevenstaak

Een taak Gegevens spiegelen verwijderen

Wanneer u een spiegeltaak verwijdert, worden de interne schema's en weergaven die door de spiegeltaak zijn gemaakt, verwijderd. Externe schema's en tabellen in Redshift worden niet verwijderd. Als een tabel uit AWS Glue wordt verwijderd, bijvoorbeeld wanneer een gebruiker de dataset in de opslag verwijdert of de hele opslagtaak verwijdert, wordt de wijziging automatisch weerspiegeld in het externe Redshift-schema. De tabel wordt verwijderd en hoeft niet afzonderlijk te worden verwijderd. Het is een best practice om het externe schema volledig te verwijderen als het niet langer in gebruik is.

InformatieWanneer u een Databricks-spiegeltaak verwijdert, worden de externe catalogus en externe locatie in Databricks niet verwijderd. Verwijder deze handmatig in Databricks als ze niet langer nodig zijn.
InformatieEen opslagtaak kan niet worden verwijderd terwijl een spiegeltaak eruit leest.

Ga als volgt te werk om een taak Gegevens spiegelen te verwijderen:

  1. Klik bij de taak Gegevens spiegelen die u wilt verwijderen op het menu Meer acties op de taak en selecteer Verwijderen.

  2. In het bevestigingsdialoogvenster, klik op Verwijderen.

Was deze pagina nuttig?

Als u problemen ervaart op deze pagina of de inhoud onjuist is – een tikfout, een ontbrekende stap of een technische fout – laat het ons weten!